Titre: REQUETE MYSQL
Posté par: Enzo Di Lavazzo le le 10-01-2004 a 18:04:20
Voila mon probleme, sur mon site je desire effacer la 8eme news si elle existe(afin de ne pas en avoir une tonne), pour cela g creer une requete mysql sur la page des news, le probleme c qu'elle ne fonctionne pas. voici la requete
mysql_query ("SELECT * FROM news IF COUNT(date)>7 DELETE * FROM news WHERE date=MIN(date) "); En fait en tte logique cette requete devrai, si il existe plus de 7 news, effacer l'enregistrement (la news) dont la date est la plus petite (la plus ancienne) Voila donc je remercie d'avances tt ceux qui pourront m'eclairer a ce sujet !!! :)
|
Titre: Re:REQUETE MYSQL
Posté par: erwinol le le 10-01-2004 a 18:17:15
Tu mélanges un SELECT et un DELETE ... qu'est-ce que tu nous fait là ???
C'est normal que ça foire ;) La solution serait de faire un trigger on insert mais ça n'existe pas en mysql.
Ce que tu veux faire c'est supprimer carrément la news de ta base de données ?? Pourquoi ne pas la garder et n'afficher que les 7 dernières systématiquement ?
Sinon suffit de faire un
[CODE] $result = mysql_query(SELECT * FROM news); if(mysql_num_rows($result) > 8) { /* * DELETE * FROM news * WHERE date = MIN(date) */ } [CODE]
Enfin ta requete DELETE ne va pas fonctionner mais je vais te laisser chercher ;) |
Titre: Re:REQUETE MYSQL
Posté par: Enzo Di Lavazzo le le 10-01-2004 a 18:24:33
merci de ton aide c sur deja qu'avec un DELETE ca aurai été plus logique, lol , je sais pa ce qui met passer par la tete :-[ enfin merci beaucoup de ton aide je continu a chercher !!! ;) |
Titre: Re:REQUETE MYSQL
Posté par: Enzo Di Lavazzo le le 10-01-2004 a 18:30:23
ah oui sinon tu pourrai m'expliquer un petit peu le code que tu m'as donner:
[CODE] $result = mysql_query(SELECT * FROM news); if(mysql_num_rows($result) > { /* * DELETE * FROM news * WHERE date = MIN(date) */ } [CODE]
car je suis encore un noob en php et mysql alors si tu pouvais me decrire les different opérateur que tu utilise ainsi que leur action ca me donnerai un sacré coup de pouce
encore merci mille fois pour ton aide, moi je part, je regarderai ce soir si y a des reponses :P merci merci !!!
|
Titre: Re:REQUETE MYSQL
Posté par: erwinol le le 10-01-2004 a 22:49:17
le mysql_query tu le connais vu que tu l'as utilisé dans ton sujet de départ ... mais n'oublie pas de te connecter à la base de données et tout avant.
mysql_num_rows($result) retourne le nombre de résultats trouvés lors d'un select. Donc après avoir fait ton select des news, tu comptes combien tu en as. Tu aurais aussi pu faire select count(id_news) from news et si ct > 7 alors tu effaces le dernier. Mais faire la condition count(...)>7 dans ta requete ne pourra pas fonctionner.
Pour un delete ou un update faut voir du coté de mysql_affected_rows()
|
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|