PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 23-05-2010 16:19:28

zell25
Membre
Inscription : 20-05-2010
Messages : 6

Methode pour tirer aleatoirement l'id d'une table

Salut a tous, je voudrais savoir si en php on peu récupérer aléatoirement une idée dans une table avec une requete sql?.

Hors ligne

#2 23-05-2010 16:39:35

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : Methode pour tirer aleatoirement l'id d'une table

Salut,

Une idée ?
A l'approche des grandes vacances, on va se la faire didactique... smile
Donc, oui c'est possible.
Tu sélectionne les idées de ta table que tu ordonnes aléatoirement et tu prends le premier de la liste.
Je te laisse potasser un peu la doc et si tu bloques vraiment reviens.

A+


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#3 23-05-2010 16:41:40

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Methode pour tirer aleatoirement l'id d'une table

Salut,


[code:mysql]
SELECT nomduchamp FROM nomdelatable
ORDER BY RAND()
LIMIT 1
[/code]


a++

Hors ligne

#4 23-05-2010 16:42:20

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Methode pour tirer aleatoirement l'id d'une table

heuuuuuu, j ai rien dit big_smile:D
a++

Hors ligne

#5 23-05-2010 16:42:31

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : Methode pour tirer aleatoirement l'id d'une table

Ah bha voila t'as cassé le suspense...!! big_smile big_smile


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#6 23-05-2010 16:43:12

Pierrot
Ancien nouveau
Inscription : 08-05-2009
Messages : 1 195

Re : Methode pour tirer aleatoirement l'id d'une table

bah, vire mon post wink
a++

Hors ligne

#7 23-05-2010 18:07:39

zell25
Membre
Inscription : 20-05-2010
Messages : 6

Re : Methode pour tirer aleatoirement l'id d'une table

non ca na pas vraiment casser le suspense:lol:  puisque que j'ai ce code mais ca ne fonctionne pas

<?php
try
{
  $bdd = new PDO('mysql:host=localhost;dbname=mysql', 'root', '');
}
catch(Exception $e)
{
        die('Erreur : '.$e->getMessage());
}

$reponse = $bdd->query('SELECT mail FROM concours WHERE total > 2 ORDER BY RAND () LIMIT 1');

echo '<p>Voici le gagnant du concours :</p>';
while ($donnees = $reponse->rand())
{
  echo $donnees['mail'] . '<br />';
}

$reponse->closeCursor();

?>

Dernière modification par zell25 (23-05-2010 18:07:58)

Hors ligne

#8 23-05-2010 18:26:56

mcAllan
Mowdérateur
Lieu : Châteaurenard en Provence
Inscription : 08-05-2009
Messages : 269

Re : Methode pour tirer aleatoirement l'id d'une table

$reponse->rand() ne me semble pas valide.
$reponse->fetch() ??

Je ne suis pas spécialiste de PDO...
(je sais MK, va falloir s'y mettre smile )


Promotion de PPOO : Programmation Propre Orientée Objet !!
Recommande AAO : Apéritif Avec Olives...
Glop, glop

Hors ligne

#9 23-05-2010 19:10:36

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : Methode pour tirer aleatoirement l'id d'une table

Bonjour

zell25 a écrit :

$reponse = $bdd->query('SELECT mail FROM concours WHERE total > 2 ORDER BY RAND () LIMIT 1');

En fait ici ta requête classe aléatoirement tes enregistrements et te retourne que le premier via LIMIT 1.
Par conséquent,

zell25 a écrit :

while ($donnees = $reponse->rand())

Vouloir récupérer sur le principe une entrée aléatoire sur le résultat de ta requête est un non sens vu qu'il n'y a qu'une seule ligne de retournée.

Ta variable $reponse représente un PDOstatement sur lequel seul un fetch() pourra te permettre d'en récupérer le contenu.


while ($donnee=$reponse->fetch()){....}
 

Te suffit dans le while de récup la valeur de mail en fonction des arguments passées dans fetch() en sachant que par défaut fetch() retourne un tableau accessible par nom et par valeur.

Jc


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums