Page 1 sur 1

Problème requête : VARIABLE sur la LIMIT

Posté : 18 sept. 2006, 10:47
par ItaloBADI
Bonjour,

j'ai un petit problème de requête.

Effectuant une RAZ partielle des unités des persos dans mon jeu de rôle, je fais une série de requêtes sans souci pour prendre les informations dont j'ai besoin, mais à la fin j'ai un problème avec la requête LIMIT

Comme chaque perso aura la moitié de ses unités suprimées, à partir des plus récentes, je fais une requête du genre :

( si le perso possède 100 unités de type soldat )
mysql_query("DELETE from unites where type='soldats' and arrakeen='".$nom."' ORDER BY id DESC LIMIT 50");
Là pas de problème évidemment.

CE QUE JE CHERCHE A FAIRE, c'est à avoir une variable au préalable que je trouve sans problème :
$retsoldats=($soldats/2);
Soit la moitié des soldats pour la variable $retsoldats ( soldats à retirer )

Je voudrais que la limite SOIT cette variable , comme ceci :
mysql_query("DELETE from unites where type='soldats' and arrakeen='".$nom."' ORDER BY id DESC LIMIT '".$retsoldats."'");
Et ça ne fonctionne pas.

Comment puis-je faire ?
Avez-vous une idée ?

Merci d'avance pour ceux qui vont se penchr sur le problème.
Car là je cherche et je coince vraiment.

Posté : 18 sept. 2006, 11:11
par zeus
Dans ta requete où la limite est en dur, tu écrit

Code : Tout sélectionner

LIMIT 50
Dans ta requete avec la variable, tu écrit

Code : Tout sélectionner

LIMIT '".$var."'
ce qui va donner

Code : Tout sélectionner

LIMIT '50'
Est-ce que tu vois le soucis ? ;)

Sinon, même remarque que sur l'autre post : pas la peine de mettre tout le post en gras, c'est agressif. De même, "ca ne marche pas" n'aide pas trop à la compréhension des erreurs ;)

Posté : 18 sept. 2006, 11:15
par ItaloBADI
Oui, je vois le problème.

Encore désolé pour la mise en gras.
Et quand je disais ça ne marche pas, en effet, j'aurais dpu précisé que rien ne se passait en fait.
Cela s'explique par le fait que du coup, ça devait donner l'ordre LIMIT 0 puisque le chiffre ne passait pas...

Merci beaucoup Zeus ! :wink: