Pagination table php/mysql
Résolu
zake el
Messages postés
151
Date d'inscription
Statut
Membre
Dernière intervention
-
zake el Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
zake el Messages postés 151 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
j'ai une page en php qui affiche les donnés enregistrées dans une table mysql ("sujet")
voici le code:
$idt=1;
// on se connecte à notre base de données
$connect=mysql_connect($sql_serveur,$sql_user,"") or die("error");
mysql_select_db($sql_bdd)or die("introuvable");
$query=mysql_query("select * from sujet where id_type ='$idt'");
$numrows=mysql_num_rows($query);
if ($numrows == 0) {
echo 'Aucun sujet';
}
else {
?>
<center><table width="900" border="1"><tr height=50>
<td width="600">
Titre du sujet
</td><td>
Date dernière réponse
</td></tr>
<?php
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($query)) {
// on décompose la date
sscanf($data['datederrep'], "%4s-%2s-%2s %2s:%2s:%2s", $annee, $mois, $jour, $heure, $minute, $seconde);
// on affiche les résultats
echo '<tr height=80>';
echo '<td>';
echo '<a href="./affiche.php?af=' , $data['id_suj'] , '">' , htmlentities(trim($data['titre_suj'])) , '</a>';
echo '</td><td>';
echo "par :".htmlentities(trim($data['pseudo']))."</br>";
echo "derniere reponse le:".$jour , '-' , $mois , '-' , $annee , ' ' , $heure , ':' , $minute;
}
?>
</td></tr></table></center>
<?php
mon problem c 'est que je veux que ma table affiche 20 lignes par page;et les numéro de page seront sous latable;
quand je clic sur le num 2 il me transfere vers la 2eme page qui m'affiche les 20lignes qui suivent ;et ainsi de suite.
Auriez-vous une solution à me proposer ?
Merci d'avance
j'ai une page en php qui affiche les donnés enregistrées dans une table mysql ("sujet")
voici le code:
$idt=1;
// on se connecte à notre base de données
$connect=mysql_connect($sql_serveur,$sql_user,"") or die("error");
mysql_select_db($sql_bdd)or die("introuvable");
$query=mysql_query("select * from sujet where id_type ='$idt'");
$numrows=mysql_num_rows($query);
if ($numrows == 0) {
echo 'Aucun sujet';
}
else {
?>
<center><table width="900" border="1"><tr height=50>
<td width="600">
Titre du sujet
</td><td>
Date dernière réponse
</td></tr>
<?php
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($query)) {
// on décompose la date
sscanf($data['datederrep'], "%4s-%2s-%2s %2s:%2s:%2s", $annee, $mois, $jour, $heure, $minute, $seconde);
// on affiche les résultats
echo '<tr height=80>';
echo '<td>';
echo '<a href="./affiche.php?af=' , $data['id_suj'] , '">' , htmlentities(trim($data['titre_suj'])) , '</a>';
echo '</td><td>';
echo "par :".htmlentities(trim($data['pseudo']))."</br>";
echo "derniere reponse le:".$jour , '-' , $mois , '-' , $annee , ' ' , $heure , ':' , $minute;
}
?>
</td></tr></table></center>
<?php
mon problem c 'est que je veux que ma table affiche 20 lignes par page;et les numéro de page seront sous latable;
quand je clic sur le num 2 il me transfere vers la 2eme page qui m'affiche les 20lignes qui suivent ;et ainsi de suite.
Auriez-vous une solution à me proposer ?
Merci d'avance
A voir également:
- Pagination table php/mysql
- Table ascii - Guide
- Table des matières word - Guide
- Pagination powerpoint - Guide
- Easy php - Télécharger - Divers Web & Internet
- Mysql community server - Télécharger - Bases de données
2 réponses
Salut je te propose un truc de ce genre :
J'espère que t'as compris :)
<?php $page = $_GET['page']; // admettons qu'on est à la page 1 $nbr_par_page = 20; // Tu choisis le nombre d'entrée par page, ici 20 $limit1 = $page * $nbr_par_page - $nbr_par_page; // ce qui donne 20*1-20 donc 0 $limit2 = $page * $nbr_par_page; // ce qui donne 1*20 donc 20 mysql_query("SELECT * FROM ma_table LIMIT $limit1,$limit2"); ?>
J'espère que t'as compris :)
vraiment un grand merci
ca fonctione ,
voila le code pour aider d'autres personnes:
<?php
// on récupère le nombre de sujet total
$connect=mysql_connect($sql_serveur,$sql_user,"") or die("error");
mysql_select_db($sql_bdd)or die("introuvable");
$query = "select count(*) as nb from sujet;";
$result = mysql_query($query) or die("La requête \"$query\" n'a pas pu s'exécuter !");
$val = mysql_fetch_array($result);
$nb_suj_tot = $val['nb'];
echo $nb_suj_tot;
// S'il n'y a aucun sujet, ce n'est pas la peine de continuer
if (!$nb_suj_tot) {
echo "Il n'y a aucune image de référencée dans la base de données.";
}
else {
// on récupère les paramètres passé sur l'url
if (isset($_GET['s']))
$page_debut = $_GET['s'];
else
$page_debut = 0;
$query = "select * from sujet limit $page_debut, $nb_suj_page;";
$result = mysql_query($query) or die("La requête \"$query\" n'a pas pu s'exécuter !");
?>
<table width="100%" border="1">
<?php
while ($val = mysql_fetch_array($result)) {
?>
<tr> <td>
<?php echo $val['titre_suj']?>
</td></tr>
<?php
}
?>
</table>
<p style="text-align:center;">
<?php
// on affiche maintenant la nagivation entre les pages
if ($page_debut) {
$page_prec = $page_debut - $nb_suj_page;
?>
<a href="?s=<?php echo $page_prec; ?>"><< Précédentes </a>
<?php
}
$j = 0;
while ( $j * $nb_suj_page < $nb_suj_tot ) {
if ( $j * $nb_suj_page == $page_debut ) {
$m = $j+1;
echo $m." ";
$j++;
} else {
?>
<a href="?s=<?php echo $j * $nb_suj_page; ?>"><?php echo $j+1; ?> </a>
<?php
$j++;
}
}
if ($page_debut + $nb_suj_page < $nb_suj_tot) {
$page_suiv= $page_debut + $nb_suj_page;
?>
<a href="?s=<?php echo $page_suiv; ?>">Suivantes >></a>
<?php
}
}
mysql_close();
?>
ca fonctione ,
voila le code pour aider d'autres personnes:
<?php
// on récupère le nombre de sujet total
$connect=mysql_connect($sql_serveur,$sql_user,"") or die("error");
mysql_select_db($sql_bdd)or die("introuvable");
$query = "select count(*) as nb from sujet;";
$result = mysql_query($query) or die("La requête \"$query\" n'a pas pu s'exécuter !");
$val = mysql_fetch_array($result);
$nb_suj_tot = $val['nb'];
echo $nb_suj_tot;
// S'il n'y a aucun sujet, ce n'est pas la peine de continuer
if (!$nb_suj_tot) {
echo "Il n'y a aucune image de référencée dans la base de données.";
}
else {
// on récupère les paramètres passé sur l'url
if (isset($_GET['s']))
$page_debut = $_GET['s'];
else
$page_debut = 0;
$query = "select * from sujet limit $page_debut, $nb_suj_page;";
$result = mysql_query($query) or die("La requête \"$query\" n'a pas pu s'exécuter !");
?>
<table width="100%" border="1">
<?php
while ($val = mysql_fetch_array($result)) {
?>
<tr> <td>
<?php echo $val['titre_suj']?>
</td></tr>
<?php
}
?>
</table>
<p style="text-align:center;">
<?php
// on affiche maintenant la nagivation entre les pages
if ($page_debut) {
$page_prec = $page_debut - $nb_suj_page;
?>
<a href="?s=<?php echo $page_prec; ?>"><< Précédentes </a>
<?php
}
$j = 0;
while ( $j * $nb_suj_page < $nb_suj_tot ) {
if ( $j * $nb_suj_page == $page_debut ) {
$m = $j+1;
echo $m." ";
$j++;
} else {
?>
<a href="?s=<?php echo $j * $nb_suj_page; ?>"><?php echo $j+1; ?> </a>
<?php
$j++;
}
}
if ($page_debut + $nb_suj_page < $nb_suj_tot) {
$page_suiv= $page_debut + $nb_suj_page;
?>
<a href="?s=<?php echo $page_suiv; ?>">Suivantes >></a>
<?php
}
}
mysql_close();
?>