Jdalton42 |
Le 31/07/2005 à 21:00 |
|
|
Salut,
je suis en train de faire un petit livre d'or pour quelqu'un et je voudrai faire un affichage de la requete sur plusieurs pages avec 10 messages par page par exemple... seulement je sais pas trop comment faire sa... vous pourriez m'aider svp? merci -- jdalton42 |
Anthony |
Le 31/07/2005 à 21:02 |
|
 Admin |
Salut,
Quelle est la structure de ta table qui enregistre les messages dans ton livre d'or ? -- 
|
Jdalton42 |
Le 01/08/2005 à 00:25 |
|
|
voici les champs de ma base la structure quoi:
`id` int(11) NOT NULL auto_increment,
`date` varchar(20) NOT NULL default '',
`pseudo` varchar(30) NOT NULL default '',
`email` varchar(255) NOT NULL default '',
`note` varchar(13) NOT NULL default '(pas de note)',
`msg` text NOT NULL,
PRIMARY KEY (`id`)
je sais c'est pas tres optimiser mais bon...
@++ et merci -- jdalton42 |
Anthony |
Le 01/08/2005 à 01:01 |
|
 Admin |
Ok tu as un champ ID c'est le principal on va pouvoir faire des requêtes rapides.
Bon bah pour la génération de page, tu peux faire ceci : (en prenant le fait que tes pages seront du style page.php?page=numéro ou numéro est un nombre indiquant la page. On va aussi dire dans le script que tu auras 20 messages par page (regarde bien le script si tu veux le modifier c'est assez simple).
<?php
if(isset($_GET['page']) AND is_numeric($_GET['page']) AND $_GET['page']>0)
{
$page=$_GET['page'];
}
else
{
$page=1;
}
//------------------------------
//RECUPERE L'ID MAX
//------------------------------
mysql_connect('hote','user','passe');
mysql_select_db('base');
$id=mysql_query('SELECT MAX(id) FROM table');
$r=mysql_fetch_row($id);
$id_max=$r[0];
//------------------------------
//DEBUT DES MESSAGES A AFFICHER
//------------------------------
$debut=$id_max-20*$page;
if($debut<0)
{
$debut=0;
}
$fin=$debut+20;
$req=mysql_query('SELECT date,pseudo,email,note,msg FROM table WHERE id BETWEEN '.$debut.' AND '.$fin.' ORDER BY id DESC');
mysql_close();
//-------------------------------
//AFFICHE LES MESSAGES
//-------------------------------
while($r=mysql_fetch_row($req))
{
//ici ton code pour afficher les messages
}
?>
-- 
|
Jdalton42 |
Le 01/08/2005 à 22:43 |
|
|
ok merci je vai tout de suite tester cela juste un probleme et dsl de t'ennuyer mais il me faudrai le script qui affiche des liens pour chaque page qu'il y a et je sais pas faire sa... -- jdalton42 |
Anthony |
Le 01/08/2005 à 23:21 |
|
 Admin |
Tu divises $id_max par 20 t'as le nombre de pages :
ceil($id_max/20); //nombre de pages
ensuite tu connais la page courante $page
bah tu fais une boucle ensuite pour partir de la page courante moins 5 pages par exemple et 5 pages ensuite. C'est pas compliqué, consulte la section PHP. -- 
|