UPDATE avec OFFSET sur SELECT?

Eléphant du PHP | 58 Messages

30 juin 2008, 22:44

[mysql]

J'ai une table de scores d'un jeu avec 10 joueurs; A un instant, j'examine les scores en classant par ordre décroissant et les 3 premiers ont un bonus de +10 points, les 3 suivants un bonus de +2 et les 4 derniers un malus de -10.

Je voudrais mettre à jour à partir du 4eme enregistrements les 3 enregistrements qui suivent..

Donc je pensais faire :
 UPDATE table SET score=score+2 limit 3,3


mais cela ne marche pas avec UPDATE...

Quelqu'un a une idée?

Merci.

create table

Eléphant du PHP | 422 Messages

02 juil. 2008, 19:29

personnellement, je n'essayerais pas de tout faire en même temps.
Je ferais une fonction du type
function miseajour_scores ($debut, $nombre, $ordre, $points) {
//Select des joueurs à partir de $debut
//Constitution d'une liste avec leurs id du type (23, 42, 56)
//Mise à jour du score update ... where id in $liste
}
miseajourscores (0, 3, 'asc', 10);
miseajourscores (3, 3, 'asc', 2);
miseajourscores (0, 4, 'desc', -10);

Eléphant du PHP | 58 Messages

03 juil. 2008, 13:38

Merci ! je me suis débrouillé vu que je n'avais pas de réponse mais je vais examiner ton approche.