Faire un MYSQL_FETCH_ARRAY... [ - Job's Done - ] - PHP - Programmation
Marsh Posté le 16-10-2002 à 14:54:23
mise à jour après un tour sur www.php.net (mysql_fetch_array)
Code :
|
il me retourne toujours qu'une seule valeur... $Array[2] mais pas les autres...
Marsh Posté le 16-10-2002 à 14:57:30
hum...
tu veux vraiment un lien pour chaque champ de la table ?
si oui ça devrait marcher mais saches que comme ton $i = 2 il va seulement te sortir la valeur des champs numéros 2 ou supérieurs
t'as une erreur de syntaxe au niveau du echo, ça sécrit plutôt comme ça :
Code :
|
pour ton problème de n'avoir qu'une seule ligne : c'est normal puisque le nombre de champs affichés dépend du nombre de ligne retourné par ta requête (1 résultat MySQL => 1 champ affiché même si t'en as plus)
EDIT :c'est sacrément tordu ton truc... tu veux faire quoi exactement ?
Marsh Posté le 16-10-2002 à 15:01:41
pour le cho du lien, ok, je fait comme ça.
pour le nombre de champs par ligne : 15
seulement les 13 dernier m'intéressent à l'affichage.
en fait, je veux qu'il maffiche, successivement, les 13 champs, sans que j'ai à faire : for ($I=2;$I<1....
Marsh Posté le 16-10-2002 à 15:42:59
t'as pas trop le choix : soit tu mets tous les champs dans ton echo, soit tu boucles pour les afficher.
comme ça c'est impossible, si ta requête retourne que 10 lignes, t'auras que 10 champs..
Marsh Posté le 16-10-2002 à 16:47:39
Sh@rdar a écrit a écrit : t'as pas trop le choix : soit tu mets tous les champs dans ton echo, soit tu boucles pour les afficher. comme ça c'est impossible, si ta requête retourne que 10 lignes, t'auras que 10 champs.. |
ah bon ??... attend, je crois que je comprend pas..
si j'ai un tablo comme ça :
|
et que je lui dit :
Code :
|
$Array[3] n'éxiste pas ??...
Marsh Posté le 16-10-2002 à 18:04:22
EUh ba mysql_fetch_array() renvoie un tableau contenant la LIGNE d'un résultat, chaque cellule du tableau contenant la valeur de chaque champ. Donc, si tu veux les 13 dernières lignes uniquement, tu fais :
Code :
|
Passke moi, ce que je vois ton dernier code faire, c'est initialiser i à 2 puis écrire dans un <a> la ième colonne de la ligne que ton while() est en train de lire puis incrémenter i Donc à moins que tu ne veuilles récupérer qu'un champ et que le numéro de ce champ s'incrémente tous les tours de boucle, ça va pas correspondre à ce que tu veux
Marsh Posté le 16-10-2002 à 18:30:51
le problème est pourtant facile à analyser...
ta boucle while s'effectue une fois par ligne retournée, elle se fout du nombre de champ à afficher, tu dois reboucler dans le while pour afficher tous les champs, un if ne suffira pas.
Code :
|
EDIT la deuxième solution :
Code :
|
en gros tu la première solution revient à boucler la liste des champs de la seconde, mais je le répète y a pas 36 manières d'y arriver..
Marsh Posté le 16-10-2002 à 22:19:42
OK? BON? BAH JE VAIS OPTER POUR LE FOR ALORS? MERCI BEAUCOUP §§
Marsh Posté le 16-10-2002 à 13:50:15
c'est possible ??
j'ai fait ça :
dans ce cas là, il ne met qu'une valeur... snifff
Message édité par xkamui le 16-10-2002 à 22:20:11