Afficher des résultats en fonction de requêtes préparées
Posté : 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 :
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 :
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 floremais 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 !