Franchement j'en sais rien^^. mais quel est l'intérêt ? ça va plus vite ?
Et bien je pense oui, mysql est parfois plus rapide que php.
Alors pourquoi pas.
Faut bien faire travailler mysql,
.
Il fou presque rien !!!!
Mais ce qui est bizarre en fait c'est le IF je trouve parce que tu ne lui indique pas que c'est où l'id =1.
Je viens d'essayer ceci :
Code PHP :
<?php
mysql_query('IF valeurVariable=valeurFixe FROM table WHERE id=1
THEN (UPDATE table SET valeurVariable=0 WHERE id=1)
ELSE UPDATE table SET valeurVariable=valeurVariable+1 WHERE id=1
END IF');
Mais ça ne donne toujours rien !
Alors oui, c'est possible. Maintenant, il existe un bon tutorial sur SQL chez SdZ :
Pour aller plus loin...
Lorsque vous faites des requêtes SQL (et surtout MySQL), il vaut mieux éviter de nombreuses requêtes. Cela est d'autant plus vrai pour les demandes d'informations (QUERY). Une grosse requête sera plus profitable que 5 petites.
Je vais lire le tutoriel et je vous tiens au courant
Il faut voir si la version du mySQL que tu utilises (ou bien si MySQL en général) accepte le PL/SQL.
Qu'est ce que le PL/SQL? c'est du SQL + langage procédural, donc la possibilité de mettre des IF dedans. C'est beaucoup utilisé avec les bases de données Oracle (je peux certainement t'aider la dessus vu que c'est mon taf pour le moment).
Si vraiment tu veux utiliser Oracle, tu peux aller voir leur site, c'est téléchargeable gratuitement, a la condition que ça reste pour une utilisation privée. Le jour ou tu mettras ton site en production, il faudra payer une licence.
Tu dois avoir quelque chose du genre :
Code PHP :
<?php
$sql = "UPDATE table SET valeurVariable =
CASE
WHEN valeurVariable=valeurFixe THEN 0
ELSE valeurVariable +1
END
WHERE id = 1
Tu peux dans le WHEN mettre aussi une autre requête MySQL. Mais cela te donne une idée.
Je vais essayer tout de suite, mais ça me parait bien
Merci
[EDIT]
Bon ça fonctionne très bien, je te remercie
Maintenant, j'ai juste une autre question, il y a un moyen, pour savoir si ça met à 0 ou à valeurVariable+1 ?
Il faut faire une autre requête? ou bien ...
Merci d'avance