[RESOLU] Afficher des résultats en fonction de requêtes préparées

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Afficher des résultats en fonction de requêtes préparées

Re: [RESOLU] Afficher des résultats en fonction de requêtes

par imikado » 30 juil. 2013, 17:43

Oui marié, et une fille ;)
Bon courage pour la suite :)

Re: Afficher des résultats en fonction de requêtes préparées

par Khidam » 30 juil. 2013, 16:45

Yes !!! :D
ça fonctionne !! c'est un peu chiant de devoir tout taper, mais avec les alias, c'est déjà vachement mieux !!!
merci Imikado !! vous êtes vraiment top !! hyper pédagogue et disponible !!!
vous êtes marié ??? nan, je déconne... :wink:

Re: Afficher des résultats en fonction de requêtes préparées

par imikado » 30 juil. 2013, 15:42

Utilisez plutot la variable choix
if ($_POST["choix"] == "flore1") {
pour afficher le tableau flore1... :)

Parcontre utilisez des alias pour vos min,max... plus simple pour récuperer les valeurs

Re: Afficher des résultats en fonction de requêtes préparées

par Khidam » 30 juil. 2013, 14:47

c'est-à-dire ça ? :

while ($donnees = $reponse->fetch())
{
?>
<p>
MIN : <?php echo $donnees['MIN(INDICE_REL)']; ?> <br />
MAX : <?php echo $donnees['MAX(INDICE_REL)']; ?> <br />
MOY : <?php echo $donnees['AVG(INDICE_REL)']; ?> <br />
MIN : <?php echo $donnees['MIN(TTGE)']; ?> <br />
MAX : <?php echo $donnees['MAX(TTGE)']; ?> <br />
MOY : <?php echo $donnees['AVG(TTGE)']; ?> <br />
//...
</p>

et comment faire pour afficher :
Flore
Indice Relatif :
MIN :
MAX :
MOY :

ou

Microbiologie
TTGE :
MIN :
MAX :
MOY :

en fonction de ce qui est choisi ?

Re: Afficher des résultats en fonction de requêtes préparées

par imikado » 30 juil. 2013, 12:29

Dans ce cas la, il va falloir pour chaque sortie différente faire un tableau d'affichage différent :(

Re: Afficher des résultats en fonction de requêtes préparées

par Khidam » 30 juil. 2013, 12:23

ça fonctionne effectivement quand on a qu'un seul paramètre dans la requête...
mais si on considère ma 2ème requête, microbio, il y a 2 paramètres différents à considérer... et je ne peux pas les appeler aussi minimum, maximum et moyenne...
comment faire ??
Et comment faire pour que dans la réponse sur ma page cible, je puisse savoir de quel paramètre on a la réponse ?

ex :
Microbio
Biomasse
Minimum :
Maximum :
Moyenne :

TTGE
Minimum :
Maximum :
Moyenne :

Re: Afficher des résultats en fonction de requêtes préparées

par imikado » 30 juil. 2013, 11:34

Indiquez un alias dans vos requêtes (pour récupérer en php)
 $requete = "SELECT MIN(INDICE_REL) as minimum, MAX(INDICE_REL) as maximum, AVG(INDICE_REL) as moyenne, SITE.LAND_USE FROM SITE INNER JOIN FLORE_AG ON FLORE_AG.CODE_MODALITE = SITE.CODE_MODALITE";
Vous récupererez ainsi toujours
echo 'minimum : '. $donnees['minimum'];
echo 'maximum: '. $donnees['maximum'];
echo 'moyenne: '. $donnees['moyenne'];

Afficher des résultats en fonction de requêtes préparées

par Khidam » 30 juil. 2013, 10:13

Encore moi...

Voilà mon problème :
J'ai un formulaire dans lequel je demande plusieurs choses aux utilisateurs :
1. Quelle requête ils veulent consulter : boutons radio avec par exemple comme choix "microbiologie" ou "flore", etc
2. Quels critères ils veulent appliquer sur cette requête : liste déroulante avec différentes variables de pH, ou différentes variables de type de sol.
J'ai réussi (grâce à Imikado) à créer mes requêtes préparées : sélection de la requête à afficher en fonction du choix, puis application des critères sélectionnés par l'utilisateur.

Mes requêtes sont (par définition) différentes les unes des autres :
Par exemple :
if (isset($_POST["choix"]) && $_POST["choix"] != "") {
                //Si c'est la flore qui est voulue
                if ($_POST["choix"] == "flore1") {
                               $requete = "SELECT MIN(INDICE_REL), MAX(INDICE_REL), AVG(INDICE_REL), SITE.LAND_USE FROM SITE INNER JOIN FLORE_AG ON FLORE_AG.CODE_MODALITE = SITE.CODE_MODALITE";
                }
                //Si c'est la microbio qui est voulue
               elseif ($_POST["choix"] == "microbio1") {
                               $requete = "SELECT MIN(BIOMASSE), MAX(BIOMASSE), AVG(BIOMASSE), MIN(TTGE), MAX(TTGE), AVG(TTGE), SITE.LAND_USE FROM SITE INNER JOIN MICROBIO ON MICROBIO.CODE_REPET = SITE.CODE_REPET";
                }
Comment je peux faire ensuite pour afficher le résultat, sachant que je connais par ex ce moyen :
while ($donnees = $reponse->fetch())
{
 echo $donnees['MIN(INDICE_REL)'];
}
qui va fonctionner pour la flore
mais comment faire pour que ça fonctionne pour les autres requêtes ?? Il faut écrire l'ensemble des résultats qu'on veut, et le php n'affichera que le résultat de la requête sélectionnée, ou il y a un autre moyen ???
ex :
while ($donnees = $reponse->fetch())
{
echo $donnees['MIN(INDICE_REL)'];
echo $donnees['MAX(INDICE_REL)'];
echo $donnees['AVG(INDICE_REL)'];
echo $donnees['MIN(TTGE)'];
echo $donnees['MAX(TTGE)'];
echo $donnees['AVG(TTGE)'];
//...
}
Merci beaucoup pour vos réponses !