Transmettre information en session

Résolu
Signaler
Messages postés
67
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
22 mars 2009
-
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
-
Bonjour à tous !

En fait j'interroge une table de ma base de cette facon :

$reponse = mysql_query("SELECT * FROM question ORDER BY rand() LIMIT 1");

while($donnees = mysql_fetch_array($reponse))
{

Mon but est donc d'interroger ma table et selectionner une rangée à la fois... Ma requete normalement doit stocker la ou les rangées deja selectionnées pour que le random ne les selectionne plus. Je dois selectionner une rangée à chaque page PHP. Comment puis je passer de page en page l'information sur les rangées deja selectionnées (j'imagine que ca doit etre par session mais je ne vois pas comment faire) ?

Merci encore !

11 réponses

Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
tu n peux pas rajouter un champ a ta table question : un champ du style deja lu tu les met tous a 'n' au debut ensuite des que tu a selectionner une tu le met a 'o' et dans ta requete tu ne selectionne que celle qui on un 'n' une fois le traitement complet finit tu les remet tous a 'n'
ce n'est qu'une idee
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
<php
session_start();
 pour donner une valeur a une variable session tu tape
$_SESSION['mavariable'] = (la valeur);

et sur la page suivante tu tape :
<php
session_satrt();
 echo $_SESSION['mavariable'];
 si ta des question n'hesite pas
Messages postés
67
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
22 mars 2009

Deja je te remercie pour ta reponse.

Je sais faire le session start... Le problème c'est que je ne sais pas ou que je ne vois pas comment l'appliquer dans mon cas...
Messages postés
67
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
22 mars 2009

Je pense que c'est une bonne idée, je vais tester.

Merci !!!
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
ok tien moi au courant stp
Messages postés
67
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
22 mars 2009

Ma requete devient la suivante :

$reponse = mysql_query("SELECT * FROM question ORDER BY rand() LIMIT 1 WHERE lire='o'");

Par contre je ne vois pas comment faire mon update...
Je peux le faire comme cela : mysql_query("UPDATE question SET lire 'n' WHERE `ID`???? LIMIT 1 ");
Le soucis c'est que je ne connais pas l'ID de la rangée selectionnée...
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
je pense que tu voulais mettre where lire='n' dans ta requete?

la premiere colonne de ta table c bien l'id?
si c'est ca tu met :
UPDATE question SET lire 'o' WHERE `ID`$donnees[0]
Messages postés
67
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
22 mars 2009

L'update est bon, merci.

Par contre le select me fous une merde dans mon while :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in...

Est ce que ce Select est bon ?

$reponse = mysql_query("SELECT * FROM question ORDER BY rand() LIMIT 1 WHERE lire='n'");

Car des que j'enleves la clause WHERE il me met pas le message d'erreur...
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
ton where essaye de le mettre avant le order by
Messages postés
67
Date d'inscription
mercredi 14 février 2007
Statut
Membre
Dernière intervention
22 mars 2009

Niquel !!! Ca marche !! Je te remercie beaucoup pour ton aide !!!
Messages postés
289
Date d'inscription
jeudi 5 octobre 2006
Statut
Membre
Dernière intervention
11 juin 2010
3
de rien mais reponse accepter si tu a envi