par
ouckileou » 26 mai 2006, 15:31
Effectivement, il manque une virgule entre 2 et 4, ce qui est bizarre puisque elle devrait être rajoutée dans ta boucle.
Tu dois effectivement faire une petite manip pour enlever la dernière virgule qui sera en trop. Regarde la fonction substr(), qui te permet de tronquer une chaîne. (ce point correspond à ce que tu veux faire :
Exemple 3. Utiliser une valeur négative avec length)
Le point-virgule à la fin de la requête n’est pas obligatoire. Et il est même interdit pour une requête qui doit être exécuté via mysql_query(), puisque tu ne peux exécuter qu’une requête à la fois par cette fonction et il provoquera une erreur s’il rencontre un ;
Au sujet de ces lignes, voici ce que je vois moi :
$resultat = $db->query($sql);
$resultat = $db->getAll($sql, DB_FETCHMODE_ASSOC );
première ligne : tu exécutes ta requête SQL qui est dans $sql via ta fonction, et tu renvoies le jeu de résultats brut dans $resultat => OK
deuxième ligne : tu devrais normalement ici traiter le jeu de résultats précédent ($resultat) et renvoyer le tout dans une autre variable pour traiter les valeurs.
Hors tu réutilises ton code SQL ($sql) et tu renvoies le résultat dans la même variable.
Je pense que ceci conviendrait mieux :
$resultat = $db->query($sql);
$resultat_bis = $db->getAll($resultat, DB_FETCHMODE_ASSOC );
Tu peux renommer $resultat_bis pour une variable plus parlante.