Bonjour, alors je m’explique, je voudrais afficher dans mon chat les 10 derniers messages qui ont été posté mais je veux les voir apparaitre ( de haut en bas ) du plus vieux au plus récent. Actuellement j’utilise la requete suivante
$donnee = mysql_query(“SELECT * FROM chat ORDER BY id DESC LIMIT 0,10”);
ensuite j’affiche le contenue de ma variable dans un while
while ($donnee_array = mysql_fetch_array($donnee))
{
echo $donnee_array[‘pseudo’];
}
le problème c’est que je vois les messages ( de haut en bas ) du plus récent au plus vieux… étant donné que j’ai classé par ordre décroissant. si quelqu’un a une solution qui me fasse signe merci
Plusieurs solutions:
- au niveau de ta requête, tu peux faire ça :
(
SELECT * FROM chat ORDER BY id DESC LIMIT 10
) UNION (
SELECT * FROM chat ORDER BY id DESC LIMIT 0
) ORDER BY id ASC
(si mySQL est intelligent, la seconde requête renvoie rien, et est rapide, sinon t’es baisé)
- Ou ça :
SELECT * FROM chat WHERE id IN(SELECT id FROM chat ORDER BY id DESC LIMIT 10) ORDER BY id ASC
- ou ça:
a) dans phpmyadmin:
CREATE VIEW dernier_evenement AS (SELECT * FROM chat ORDER BY id DESC LIMIT 10)
b) dans ton code SELECT * FROM dernier_evenement ORDER BY id ASC
- ou en PHP…
Je suggère une requète correllée, ça va te permettre de réinversé l’ordre…
$query = "
SELECT
*
FROM
(
SELECT
*
FROM
chat
ORDER BY
id DESC
LIMIT
0,10
)chatScreen
ORDER BY
chatScreen.id ASC
";
$rezSet = mysql_query($query);
[code]
Pas mal aussi. J’avais tenté ça perso:
(… sa requête …) ORDER BY id ASC
Mais ça ne marchait pas.
Petit commentaire personnel, mais tu devrais (scorypso) lorgner du coté de librairie BD tel que PDO, qui offre une meilleur compatibilité et sécurité…
Support de l’orienté objet
support de n’importequel gestionnaire bd (Oracle/mysql, etc)… comme ça si tu veux porter ton appli sur un autre serveur qui a dison oracle SQl, tu n’es pas pris pour modifier ton code.
Protection contre l’injection sql meilleur.
Personnellement, je me sers des fonctions mysql_ qu’à des fins de test.
bonjour,
Merci de m’avoir répondu je vais essayer tout ça et je vous tiens au courant!! j’espere que ça va fonctionner
alors, j’ai essayé t’es deux premieres solution et j’ai pour chacune d’elle le message derreur suivant :
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /mnt/104/sda/1/7/cerveaurapide/chat.php on line 62
J’ai essayé la 3ème solution est tout fonctionne parfaitement, J’ai eu peur de ne pas savoir l’utilisé j’avais jamais utlise view… !
Merci encore, Même à nicolegrand même si je n’ai pas utiliser ta requête, par ailleur je n’avais pas compris tout dans ton dernier message je suis encore novice et librairie bd pdo… j’ai jamais entendu !! bonne journée à vous
Les vues, c’est bien pratique n’empêche:)