|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 7 ![]() |
Bonjour,
Pour faire un top, je cherche à créer une colonne virtuelle qui s'incrémente automatiquement est ce possible ? peut etre que ce n'est pas la meilleur solution, mais je n'en vois pas d'autre pour ressortir la position du classement. Merci. |
|
00
|
|
|
#2 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Oui, avec AUTO_INCREMENT sur la colone et à condition qu'il n'y en ait pas une autre.
Sinon il faut que tu aies recours au triggers ou aux routines.
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#3 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 7 ![]() |
Je ne trouve pas la synthaxe exacte, pouvez vous me donner un coup de main ?
J'ai testé avec une requete du genre mais ça ne fonctionne pas : SELECT Auto_increment AS numero FROM `table_fiche` merci. |
|
00
|
|
|
#4 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
C'est pour faire quoi au juste ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 7 ![]() |
Exactement, disons que je calcul une note avec AVG pour un artiste (je tiens un petit site de critique cinéma) en fonction des critiques qu'il a reçu et des films dans lequel il joue, le tout avec une requete.
J'ai déjà la requete fonctionnelle qui me sort virtuellement dans l'ordre des notes : -nom -note je voudrais pouvoir rajouter une autre colonne à partir de rien et virtuellement qui indiquerait la position, il suffirait juste d'un équivalent $i++. |
|
00
|
|
|
#6 |
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Mais la position par rapport à quoi ?? Dans le classement ? Dans une liste à afficher ?
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|
00
|
|
|
#7 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 7 ![]() |
Une position par rapport à l'ordre des champs dans le résultat de requète, le premier champ retournant 1, le suivant le 2, etc...
mon resultat de requete actuelle est par exemple : henry | 15 marc | 14.9 toto | 14.5 aprés amélioration de la requete j'ai 1 | henry | 15 2 | marc | 14.9 3 | toto | 14.5 de façon à ce que quand je fait un WHERE nom=toto ça me sorte le 3. |
|
00
|
|
|
#8 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
il faut mettre un index primaire à ta table avec un auto_increment, tu peux faire ca dans phpmyadmin, mais bon c'est la base du SQL ça...
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#9 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 7 ![]() |
Je sais évidemment mettre une clef primaire et un auto increment.
En fait les données que j'affichais à titre d'exemple sont le résultat d'une requete assez complexe, mais elles n'existent pas en tant que tel dans une table. La note est calculée et créee en tant que colone de résultat avec un AVG() as MOYENNE. |
|
00
|
|
|
#10 | |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
Citation:
__________________
http://blog.stealth35.com/ |
|
|
|
00
|
|
|
#11 | |||
![]() ![]() Benjamin DelespierreDéveloppeur Web Inscription : février 2010 Messages : 2 984 ![]() |
Citation:
Code :
__________________
A la recherche d'un framework MVC facile a prendre en main ? Essayez Axiom Nouveau: la référence d'Axiom est disponible sur GitHub (je la peaufine en ce moment même). Un problème correctement identifié est à moitié résolu, évitez de poster l'intégralité de votre code avec pour seule explication "ça ne marche pas...". Pour identifier correctement vos problèmes PHP, utilisez la gestion des erreurs et xdebug. Les boutons et existent, servez-vous en
|
|||
|
00
|
|
|
#12 | ||
![]() ![]() Vincent Inscription : juillet 2005 Messages : 14 929 ![]() |
Code :
|
||
|
|
00
|
|
|
#13 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 7 ![]() |
Merci beaucoup Sabotage, cela m'avance grandement sur le sujet
Par contre pour execution dans un script php le SET fonctionne t-il ? ou doit-on l'initialiser dans la requete, du coup comment faire ? |
|
00
|
|
|
#14 |
![]() ![]() Inscription : septembre 2010 Messages : 7 103 ![]() |
tu dois le faire en 2 requêtes, (ou requête multiple avec mysqli)
__________________
http://blog.stealth35.com/ |
|
|
00
|
|
|
#15 |
|
Invité de passage
![]() Inscription : mars 2011 Messages : 7 ![]() |
Cela fonctionne, j'ai bien une requête qui me retourne une colonne avec le rank en première colonne et le nom de l'artiste, note...
il reste cependant un soucis : quand j'effectue une condition restrictive "Where idartiste=4" la colonne du rank est évidemment à 1 vu qu'il n'y a qu'un seul résultat. Du coup je dois faire un while en php sur la requête sans aucune condition jusqu'à trouver l'id. Ce n'est pas très optimisé comme méthode vu qu'il y a 9000 champs à balayer à chaque fois... Vous avez une idée pour que le champs rank soit le même après condition ? (Sinon, la meilleure solution est peut être de créer une tache cron avec une nouvelle table qui reprend le top...). |
|
00
|
Copyright © 2000-2012 - www.developpez.com