Retenir les id des données déja affichées BDD

leuntout Messages postés 75 Statut Membre -  
leuntout Messages postés 75 Statut Membre -
Bonsoir,
Je voudrais un coup de main pour mon script ;
Je voudrais retenir les id des entrées BDD mysql qui ont déja été affichées pour éviter de ressortir plusieurs fois les mêmes. Donc avoir qqc de ce genre : si id déja sortie, choisir autre enregistrement.
J'ai essayé avec des array mais je n'arrive pas.
Si vous pouviez me donner une piste, ce serait cool.
Merci

A voir également:

3 réponses

leuntout Messages postés 75 Statut Membre
 
J'ai trouvé une solution, mais qui va surement faire hurler ceux qui s'y connaissent...

Donc si vous êtes choqués, et que vous avez une façon plus "propre" de faire la même chose, n'hésitez pas à me le faire savoir!

<?php
$recup_quest=mysql_query("SELECT * FROM questions_$categorie ORDER BY RAND()"); //selection des questions 
$quest=mysql_fetch_array($recup_quest); 
if (in_array($quest['id_quest'], $array)) { // si la question a déja été posée 
 header("Location: questionnaire.php"); //on recharge 
 exit(); 
} 
else {         // si la question n'a jamais été posée 
 $array[]=$quest['id_quest']; // on enregistre son id pour ne pas la reposer 
}
?>
0
Alain_42 Messages postés 5413 Statut Membre 894
 
Oui mais gros problème car je suppose que ce script est appelé à chaque fois qu'une question doit être soumise à l'utilisateur

Et comment $array est mémorisé d'un appel de script à l'autre
En effet php n'est pas un programme qui tourne en permanence mais un script qui s'execute à chaque appel d'une page, donc le contenu des variables est perdu

donc ce que tu peux faire c'est mémoriser dans ta bdd dans un champ supplémentaire 0 / 1 suivant que la question a déjà été posée ou non
0
bloodchecker Messages postés 361 Statut Membre 35
 
ou alors tu transforme quest en $_SESSION[quest]
0
leuntout Messages postés 75 Statut Membre
 
Salut!
Oui, c'est ce que j'ai fais, j'ai mis en session. Comme ca, quand ma page de traitement est terminée, elle retourne su la page questionnaire, et récupère les id déja utilisés.
Mais bon, ca me fait une requête à chaque fois.
Oh, le principal c'est que ca marche et que j'ai compris ce que je faisais...
Merci!
0