Remplir un tableau en php
Mickael86480
Messages postés
660
Date d'inscription
Statut
Membre
Dernière intervention
-
Mickael86480 Messages postés 660 Date d'inscription Statut Membre Dernière intervention -
Mickael86480 Messages postés 660 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je souhaiterai savoir comment remplir un tableau avec des valeurs trouvées par une requête et ensuite choisir au hasard une valeur de ce tableau, voici ce que j'ai fais:
$requete = "SELECT nom_pays FROM pays WHERE niveau_quizz like 0";
$trouver = mysql_query($requete) or (mysql_error());
$nb = mysql_num_rows($trouver);
$tableau=array();
for($i=0; $i<$nb; $i++){
$tableau[$i]=$trouver;
}
echo''.$tableau[$i].'';
or rien n'est affiché donc il n'y a rien dans le tableau
merci
$requete = "SELECT nom_pays FROM pays WHERE niveau_quizz like 0";
$trouver = mysql_query($requete) or (mysql_error());
$nb = mysql_num_rows($trouver);
$tableau=array();
for($i=0; $i<$nb; $i++){
$tableau[$i]=$trouver;
}
echo''.$tableau[$i].'';
or rien n'est affiché donc il n'y a rien dans le tableau
merci
A voir également:
- Remplir un tableau php
- Tableau word - Guide
- Trier un tableau excel - Guide
- Tableau ascii - Guide
- Organigramme a remplir word - Guide
- Imprimer un tableau excel - Guide
2 réponses
Salut,
Ce script ne peut que t'afficher le nombre de résultat.
Si tu souhaites afficher les résultats, il faudra ajouter cette ligne:
Avec ce code, tu pourras afficher un résultat (le dernier s'il y en a plusieurs).
Si tu souhaites tous les afficher:
Si tu souhaites en revanche choisir un résultat au hasard parmis ceux trouver, je te propose ceci:
$requete = "SELECT nom_pays FROM pays WHERE niveau_quizz like 0"; $trouver = mysql_query($requete) or (mysql_error()); $nb = mysql_num_rows($trouver);
Ce script ne peut que t'afficher le nombre de résultat.
Si tu souhaites afficher les résultats, il faudra ajouter cette ligne:
$data = mysql_fetch_array($trouver); echo $data['nom_pays'];
Avec ce code, tu pourras afficher un résultat (le dernier s'il y en a plusieurs).
Si tu souhaites tous les afficher:
while($data = mysql_fetch_array($trouver)) { echo $data['nom_pays'].'<br/>'; }
Si tu souhaites en revanche choisir un résultat au hasard parmis ceux trouver, je te propose ceci:
// On prépare la requète $sql = "SELECT nom_pays FROM pays WHERE niveau_quizz LIKE 0"; $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error()); // Calcul du nombre de résultats $nb = mysql_num_rows($req); // On place les résultats dans un tableau while($data = mysql_fetch_array($req)) { $resultats[] = $data['nom_pays']; } // On prépare un nombre aléatoire entre 0 et le nombre de résultats $nb_min = 0; $nb_max = $nb-1; $nombre = mt_rand($nb_min,$nb_max); // On affiche le résultat aléatoire echo $resultats[$nombre];
$requete="SELECT nom_pays FROM pays WHERE nom_pays LIKE ".$resultats[$nombre]."";
$requ = mysql_query($requete) or die('Erreur SQL !<br />'.$requete.'<br />'.mysql_error());
while($donnees = mysql_fetch_array($requ)){
echo'<img id=fl src=img/drapeau/'.$donnees['id'].'.png border=2 >';
}
et voci l'erreur que j'ai:
SELECT id FROM pays WHERE nom_pays LIKE Danemark
Unknown column 'Danemark' in 'where clause
je comprends l'erreur mais je ne vois pas comment la résoudre merci
Cette dernière requête te récupère toutes les données correspondant au résultat aléatoire.
Si tu souhaites seulement utiliser l'id de ce résultat pour afficher le drapeau (ce qui semble être le cas d'après ton dernier exemple, tu n'as pas besoin de cette dernière requête.
Dans ce code, j'ai placé l'id au lieu du nom du pays dans le tableau. La deuxième requête te permet d'avoir les deux.
https://forums.commentcamarche.net/forum/affich-21004377-variable-place-aleatoirement-radio-bouton-php#p21004377
merci