Numéroter les enregistrements d'une BD à l'affichage

Répondre
Sarti
le 17/03/2010 à 04:01
Sarti
Je voudrais numéroter mon affichage de 1 au dernier enregistrement page par page avec le code ci-dessous ($i étant ma valeur numérique).

<?php 
echo '<table>';
while ($data = mysql_fetch_array($result))
{
echo '<tr>';
echo '<td>'.$i.'</td>';
echo '<td>'.data['date_vst'].'</td>';
echo '</tr>';
}
echo '</table>';
?>


Voilà mon problème qui avait l’air simple et banal mais je commence à croire qu’il ne l’est pas en réalité.
Amery
le 17/03/2010 à 09:05
Amery
Tu peux le faire en utilisant la syntaxe courte suivante:

<?php
echo '<td>'.++$i.'</td>';
?>
Sarti
le 17/03/2010 à 19:06
Sarti
C'est ce que j'ai fait mais ça fonctionne pour la première page seulement. Lorsque je change de page (je clique sur suivant), il recommence à 1.
C'est justement ça mon problème.
Amery
le 18/03/2010 à 09:06
Amery
Il faut tenir compte du nombre d'enregistrements que tu affiches par page.
Par exemple, si tu veux afficher 15 enregistrements par page.

<?php
$NbpPage = 15;
$i = (intval($_GET['page'])*$NbpPage)-$NbpPage;

echo '<table>';
while ($data = mysql_fetch_array($result))
{
echo '<tr>';
echo '<td>'.++$i.'</td>';
echo '<td>'.data['date_vst'].'</td>';
echo '</tr>';
}
echo '</table>';
?>


Et $page est une variable que tu passes dans tes liens pour passer de page en page :

<?php
mapage.php?page=3
?>
Amery
le 18/03/2010 à 10:29
Amery
En simplifiant, ça devient :

<?php
$NbpPage = 15;
$i = (intval($_GET['page'])-1)*$NbpPage;
?>


Même chose, juste plus propre... smiley
Sarti
le 18/03/2010 à 16:09
Sarti
C'est encore vrai mais je rencontre un petit problème au niveau du lien. Le mien se présente de la manière suivante
<?php
echo '<a href="'.basename(__FILE__).'?page='.($page + 1).'&code_vst='.$Visiteur.'"></a>';
?>


Où et comment insérer
<?php
mapage.php?page=3;
?>
moogli
le 18/03/2010 à 16:31
moogli
est ce que tu comprend les 3 1ere lignes ?

ce que tu montre est la même chose.

@+
Il en faut peu pour être heureux !!!!!
Sarti
le 18/03/2010 à 17:13
Sarti
Biensûr mais le problème est qu'à l'affichage de la première page, $i donne -1, 0, 1, 2...... et à la secode page tout est bon.
moogli
le 19/03/2010 à 14:47
moogli
ben oui c'est ce que tu demande
$i = (intval($_GET['page'])-1)*$NbpPage;

c'est pour cela qu'il faut toujours vérifier l'existence d'une variables avant de l'utiliser (sur la 1er page $_GET['page'] n'existe pas; je suis d'ailleurs étonné que tu n'ai pas de message d'erreur sur la 1er page.

@+
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours