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
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
A voir également:
- Comment balayer une bdd a l'envers (pour un forum)
- R a l'envers ✓ - Forum Messagerie
- Slash à l'envers ✓ - Forum Clavier
- Ecran pc à l'envers - Guide
- 3 à l'envers ✓ - Forum Windows
- Point d'exclamation à l'envers ✓ - Forum Matériel informatique
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
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
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