Utiliser une requete plusieurs fois [Résolu/Fermé]

Signaler
Messages postés
497
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
18 avril 2018
-
Messages postés
497
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
18 avril 2018
-
Bonjour,
le titre explique ce que je veux faire !! En gros ces récupérer les résultats d'une requête plusieurs fois !! J'ai essayer mais je récupère le résultat que de la 1ere requête !!
Voici mon code :

$requete=mysql_query("Select * From articles ) 
echo('<select name="rub" class="petitchampinput"> <option value="" selected="selected">Toutes les categories</option>'); 
while($requeteart =mysql_fetch_array($requete)) 
{ 
     echo('<option value="'.$requeteart["art_cat"].'">'. $requeteart["art_cat"] .' </option>'); 
} 
echo('</select> 

<select name="rub" class="petitchampinput"> <option value="" selected="selected">Toutes les rubriques</option>'); 
while($requeteart =mysql_fetch_array($requete)) 
{ 
     echo('<option value="'.$requeteart["art_rub"].'">'. $requeteart["art_rub"] .' </option>'); 
} 


Je voudrais savoir comment faire pour récupère les résultats des 2 requêtes !!
Merci d'avance !!

3 réponses

Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
52
Bonjour,

il suffit que tu parcoures ton résultat une première fois pour le stocker dans un tableau, puis tu utilises ton tableau autant de fois que tu en as besoin pour l'afficher.

$requete=mysql_query("Select * From articles") ; 
$resultats = array(); 
while($requeteart =mysql_fetch_array($requete))  
 $resultats[] = $requeteart ; 

echo('<select name="rub" class="petitchampinput"> <option value="" selected="selected">Toutes les categories</option>');  
foreach($resultats as $resultat) 
     echo('<option value="'.$resultat["art_cat"].'">'. $resultat["art_cat"] .' </option>');  
echo('</select>'); 

echo('<select name="rub" class="petitchampinput"> <option value="" selected="selected">Toutes les rubriques</option>');  
foreach($resultats as $resultat) 
     echo('<option value="'.$resultat["art_rub"].'">'. $resultat["art_rub"] .' </option>'); 
echo('</select>');


Il y a seulement 10 types de personnes, ceux qui comprennent le binaire, et les autres...
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
497
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
18 avril 2018
56
oki merci !! J'ai suivi ton conseil et ça marche !! ^_^ !!

Mais j'ai un autre problème c'est que l'utilisateur peut choisir de sélectionner une seule catégorie et tous les rubriques ou de sélectionner qu'une catégorie !!
Par conséquent comment retourner le résultat !!

Voici mon code

if(isset($_POST['cat'])) $cat=$_POST['cat'];
if(isset($_POST['rub'])) $rub=$_POST['rub'];
$requete=mysql_query(Select * from articles where art_cat=$cat And art_rub=$rub;


Cette requêtte ne fonctionne pas si je décide que de sélectionner que la catégorie ou que la rubrique !!

Merci d'avance !!
Messages postés
388
Date d'inscription
mercredi 13 janvier 2010
Statut
Membre
Dernière intervention
15 novembre 2011
52
Je ne comprend pas qu'est ce qui arrive du POST en fonction de ce que l'utilisateur à choisi.
Ne suffirait-il pas de faire une condition sur ce qui arrive par le POST et de faire une requête différente pour chaque condition ?
Messages postés
497
Date d'inscription
jeudi 1 novembre 2007
Statut
Membre
Dernière intervention
18 avril 2018
56
ouais c'est vrai mais je pensais qu'il y avait plus simple !! Merci !!