theprogrammeur Posté 20 Mai 2007 Partager Posté 20 Mai 2007 Re-bonjour Après avoir réusssi à insérer des données dans ma base, je voudrais bien en sélectionner 5 aléatoirement. Pour ce faire, j'ai utilisé ce script: $connection = mysql_connect("***", "***", "***");if (!$connection) { die('Connexion impossible : ' . mysql_error());}mysql_select_db("*****");$requete = 'SELECT * FROM table ORDER BY RAND() LIMIT 5';$mysql_reponse = mysql_query($requete);$i = 0;while($i<=5){$lien = mysql_fetch_row($mysql_reponse);$i++;}echo $lien[0];mysql_close($connection); Ce n'est qu'un script pour vérifier qu'il sélectionne bien 5 données différentes et qu'il les stocke dans un Array. C'est pourquoi j'ai voulu tester une des entrées de l'Array en l'écrivant. Seul problème, rien ne s'affiche sur ma page. Pourtant je ne vois pas d'erreurs. Quelqu'un peut-il m'aider? Merci d'avance. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 20 Mai 2007 Partager Posté 20 Mai 2007 Tu n'as pas défini $lien comme étant une array .... donc $lien[0] n'existe pas Remplace: $lien = mysql_fetch_row($mysql_reponse); par $lien[] = mysql_fetch_row($mysql_reponse); Dan Lien vers le commentaire Partager sur d’autres sites More sharing options...
theprogrammeur Posté 20 Mai 2007 Auteur Partager Posté 20 Mai 2007 J'ai fait comme tu l'as proposé mais alors dans toutes les 'cases' des l'array il est écrit....Array. Ex:je echo $lien[0] affiche Array au lieu du contenu! Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 20 Mai 2007 Partager Posté 20 Mai 2007 Que te donne un print_r($lien); ? Il est logique que $lien[0] te donne une array parce que le résultat de mysql_fetch_row() est une array Donc $lien est une "array de arrays" ! Lien vers le commentaire Partager sur d’autres sites More sharing options...
theprogrammeur Posté 20 Mai 2007 Auteur Partager Posté 20 Mai 2007 print_r donne ceci: Array ( [0] => Array ( [0] => info1 ) [1] => Array ( [0] => info8 ) [2] => Array ( [0] => info4 ) [3] => Array ( [0] => info12 ) [4] => Array ( [0] => info2 ) [5] => ) C'est parfait, il a bien sélectionné les 5 données aléatoirement. Seulement, mon but n'était pas de les écrire dans la page mais de les écrire dans un fichier .txt sous cette forme: <li>info_aleatoire1</li><li>info_aleatoire2</li><li>info_aleatoire3</li><li>info_aleatoire4</li><li>info_aleatoire5</li> Je ne voulais les écrire que pour voir comment ça s'affichait et si jamais ça s'affichait seulement dans une seule variable, j'aurais utilisé la fonction explode() pour diviser la grosse variable dans un array. La seule chose qu'il me manque pour l'instant c'est de pouvoir arriver individuellement à chaque case de l'array pour mettre <li> devant et </li> après. Lien vers le commentaire Partager sur d’autres sites More sharing options...
Dan Posté 20 Mai 2007 Partager Posté 20 Mai 2007 Et bien tout simplement avec les affichages de $lien[0][0], $lien[0][1] ... $lien[0][4], non? Mais si tu n'as pas besoin de cette array plus tard, tu peux aussi remplacer ce code dans ta source: while($i<=5){ $lien[] = mysql_fetch_row($mysql_reponse); $i++;} par while($lien = mysql_fetch_row($mysql_reponse)) { print "<li>".$lien[0]."</li>"; // ou fputs(...) si tu préfères l'écrire dans un fichier } Lien vers le commentaire Partager sur d’autres sites More sharing options...
theprogrammeur Posté 20 Mai 2007 Auteur Partager Posté 20 Mai 2007 Merci beaucoup Dan. Mon problème est réglé Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant