Moritus
Messages postés130Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention23 novembre 2011
-
28 nov. 2007 à 23:42
Moritus
Messages postés130Date d'inscriptionjeudi 22 décembre 2005StatutMembreDernière intervention23 novembre 2011
-
29 nov. 2007 à 13:54
bonjour,
j'ai quelques petits problèmes avec un bout de code.
habituellement j'utilise $data['texte'] pour récupéré le contenu d'un champ de ma table.
mais la ca ne fonctionne pas. je suis capable de lire seulement le premier champs...
j'explique. je récupère le nom des table avec mysql_query(show table..) et pis apres avoir fais le tri je veux allez lire dans une table spécifique mais je ne réussi pas...
if (stripos($row[0], 'tour')!==false) {
// Ce que tu mets dans le else
}
Tu ne récupères que le premier enregistrement parce que tu ne fais pas le nécessaire pour en récupérer d'autres :
$data = mysql_fetch_row($query);
Bizarre, parce que tu fais bien ce qu'il faut pour récupérer tous les enregistrements de lapremière requête... Pourquoi ne pas faire pareil pour la seconde ?
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 29 nov. 2007 à 04:32
$req = mysql_query("SHOW TABLES") or die('Erreur SQL !
'.$sql.'
'.mysql_error());
while ($row = mysql_fetch_row($req)) {
$pos1 = stripos($row[0], "tour");
if ($pos1 === false){
;
} else {
$query = mysql_query("SELECT name,categorie FROM $row[0]");
$data = mysql_fetch_row($query);
echo "<tr>
<td>",$data[1],"</td>
<td></td>
<td>",$data[3],"</td>
</tr>";
}
}
mysql_close;
Ta requete, demande deux valeurs, name, et catégorie. Dans ton tableau de valeurs, tu demande la 1 et la 3. Ya pas comme un probleme ? si tu fait un print_r ($data) tu verra que tu n'aura que deux entrées. Prends ces deux la (si t'es en both ou numeric, c'est 0 et 1, sinon c'est name et catégorie)
Vous n’avez pas trouvé la réponse que vous recherchez ?
codefalse
Messages postés1123Date d'inscriptionmardi 8 janvier 2002StatutModérateurDernière intervention21 avril 20091 29 nov. 2007 à 05:08
quand tu fait une requete sur mysql, tu peux spécifier le type de retour que tu veux
numeric : c'est juste les chiffres (donc 1 et 2 dans ton cas)
jesaispluslenom : c'est le nom, comme name et link
et both c'est les deux
Donc regarde le fetch : php.net/mysql_fetch_row
et choisi celui qui t'arrange le plus, ca devrait fonctionner
malalam
Messages postés10839Date d'inscriptionlundi 24 février 2003StatutMembreDernière intervention 2 mars 201025 29 nov. 2007 à 08:01
hello,
mysql_fetch_row() ramène un tableau indexé numériquement (au passage, tu demandes un $data[3] alors que tu ne vas chercher que 2 champs dans ta table??? Et il ne faut pas oublier que l'indexation d'un tableau commence à 0, pas à 1).
mysql_fetch_assoc() ramène un tableau indexé associativement (avec comme clefs le nom de tes champs).
mysql_fetch_array() ramène par défaut un tableau doublement indexé : numériquement, et associativement.
mysql_fetch_array() peut prendre 3 constantes en paramètres (en plus de ta ressource de requête) :
MYSQL_NUM => pour avoir seulement un tableau indexé numériquement
MYSQL_ASSOC => tableau associatif...
MYSQL_BOTH => comportement par défaut (numérique ET associatif).