Comment balayer une bdd a l'envers (pour un forum)

Fermé
nico - 25 févr. 2001 à 14:30
PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 - 25 févr. 2001 à 17:33
je voudrait savoir si quelqu'un aurait une idée pour balayer une bdd en sens inverse. ceci pour realiser un forum en PHP.
merci
@+
nico

1 réponse

PhP Messages postés 1767 Date d'inscription lundi 11 décembre 2000 Statut Membre Dernière intervention 23 décembre 2009 607
25 févr. 2001 à 17:33
Slt nico,

Tu as plusieurs solutions :

1) Tu indiques l'ordre de tri directement dans ta requête sql

La seule façon si tu veux traiter toutes les lignes de ta table mais sans les charger toutes en même temps sur une même page html !

Par ex voici comment je fais sur mon forum

http://phpujol.nexen.net/forum-fr.php3 (bêta test !!!)

J'ai une table intitulée [forum_question] et un champ qui m'indique la date de dernière mise à jour [update_time]

Et bien je recherche les 10 premières questions que je trie par ordre décroissant grâce à DESC

Ma requête ressemble à :
"SELECT * FROM forum_question ORDER BY update_time DESC LIMIT 0,10"

En réalité je paramètre les valeurs pour LIMIT bien entendu .

Naturellement mon champ [update_time] est un index !!

2) Tu utilises les fonctions php avec MySql :

<?php
$link=mysql_connect("hostname:port","username","password");
mysql_select_db("ma_base",$link);

// Ok : plus de tri mais plus de limites non plus !!!
$query="SELECT * FROM forum_question";
$result=mysql_query($query);

// Parcours de l'ensemble des lignes retournées dans l'ordre inverse
for ($i=mysql_num_rows($result)-1; $i >= 0; $i--)
{
if (mysql_data_seek($i,$result))
{
$row=mysql_fetch_object($result);
// Place ici ton code
}
}

?>

@+

Philippe
0