Numéroter les enregistrements d'une BD à l'affichage
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é.
le 17/03/2010 à 09:05
Amery
Tu peux le faire en utilisant la syntaxe courte suivante:
<?php
echo '<td>'.++$i.'</td>';
?>
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.
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
?>
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...
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;
?>
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 !!!!!
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.
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 !!!!!
le 19/03/2010 à 15:35
Sarti
Tu as raison Moogli.
<?php
if (isset($_GET['page']))
$i = (intval($_GET['page'])-1)*NB_PAR_PAGE;
?>
Merci.
Ecrire un message
Votre message vient d'être créé avec succès.
BB-Code
Pour insérer une URL clickable
Pour insérer une adresse E-mail
Pour annoter
Pour écrire du code
Pour faire un lien vers une fonction PHP
Pour écrire du texte préformaté
Pour écrire du texte en gras
Pour écrire du texte en italique
Pour écrire du texte souligné
Pour écrire du texte barré
Pour écrire un titre principal
Pour écrire un titre secondaire
Pour écrire une liste
Smiley
:bond:
:boxe:
:bsmile:
:bump:
:clap:
:coeur:
:cool:
:cry:
:eek:
:evil:
:fleur:
:fou2:
:fou:
:grin:
:grrr:
:hammer:
:hippy:
:hum:
:idee2:
:idee:
:kdo:
:king:
:ko:
:lol:
:love2:
:love:
:mad:
:maitre:
:noel:
:oops:
:raa:
:razz:
:roll:
:sad:
:skull:
:smile:
:timide:
:trink:
:vice:
:vomi:
:wink:
:zzz: