8791 sujets

Développement web côté serveur, CMS

Salut, Smiley smile

J' aimerais faire un Tableau qui contient des valeurs recuperés de la bdd mysql, est t il possible de numeroté les lignes du Tableau en le demandant dans la requete ?
Comment?

Merci d'avance Smiley smile
Modifié par Furious68 (01 Apr 2009 - 17:57)
Salut,

il me semble qu'on ne peut pas faire cela directement dans la requête. Smiley murf

Mais bon : il suffit d'incrémenter une variable dans la boucle qui sert à récupérer les résultats
$cpt = 0;
while ($row = mysql_fetch_assoc($result)) {
   $cpt++;
   ...
}
A tester en profondeur, mais ceci semble fonctionner :
SET @row = 0;
SELECT @row := @row + 1 AS numerotation, colonne
FROM table
Les ORDER BY, LIMIT et HAVING semblent ne pas tout faire sauter, après le reste j'ai pas testé...

Sinon tu peux aussi passer par une table temporaire...
J' ai trouvé cette requete :

SELECT login, score, IF(score=@last, @count, @count:=@line), @last:=score, @line:=@line+1
FROM utilisateur, (SELECT @count:=0, @last:=0, @line:=1) r
ORDER BY score DESC

( elle permet de donnée la meme position aux valeurs exeqo )

Mais je n'arive pas à la faire fonctionner, j' ai un Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result.

Pouvez vous m' expliquer comment l'utiliser SVP?

Merci Smiley smile