par
mazflo007 » 15 juin 2006, 09:50
Voici ma requete que j'avais commencer
<?php
function displayNextPreviousButtons($limite,$total,$nb,$page) {
$limiteSuivante = $limite + $nb;
$limitePrecedente = $limite - $nb;
echo '<table align="center"><tr align="center">'."\n";
if($limite != 0) {
echo '<td valign="top" >'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="Précédents">'."\n";
echo '<input type="hidden" value="'.$limitePrecedente.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
if($limiteSuivante < $total) {
echo '<td valign="top">'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="Suivants">'."\n";
echo '<input type="hidden" value="'.$limiteSuivante.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
echo '</tr></table>'."\n";
}
function affichePages($nb,$page,$total) {
$nbpages=ceil($total/$nb);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
echo '<table border = "0" align="center"><tr>'."\n";
while($numeroPages <= $nbpages) {
echo '<td align="center"><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
$limite = $limite + $nb;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 10) {
$compteurPages = 1;
echo '<br>'."\n";
}
}
echo '</tr></table>'."\n";
}
?>
<? $nombre = 5;
// si limite n'existe pas on l'initialise à zéro
if (!$limite) $limite = 0;
// on cherche le nom de la page.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts["basename"];
//=========================================
// connection à la DB
//=========================================
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = 'SELECT count(id) FROM jeux WHERE categorie="action" ';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
//=========================================
// vérifier la validité de notre variable
// $limite;
//=========================================
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite) {
$limite = 0;
}
//=========================================
// requête SQL qui ne prend que le nombre
// d'enregistrement necessaire à l'affichage.
//=========================================
$select = 'SELECT * FROM jeux WHERE categorie="action" ORDER BY id ASC limit '.$limite.','.$nombre;
$result = mysql_query($select,$link) or die(mysql_error());
//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($total) {
echo '<div style="text-align: center"><table width=100% class="tableaujeux"><tr>'."\n";
for($row = 0; $row == mysql_fetch_array($result); $row++)
{
if ($row > 0 && $row% 6 == 0)
echo "</tr>\n<tr>\n";
echo "\t".'<td><a href="http://karement.be/jeux/page.php?id='. $row['id'].'&categorie='. $row['categorie'].'¬er=non>'. $row['nom'].'</a>'.
'<a href="http://karement.be/jeux/page.php?id='. $row['id'].'&categorie='. $row['categorie'].'¬er=non">'.
'<img src=http://karement.be/jeux/'. $row['categorie'].'/images/'. $row['id'].'.gif widht="100" height="100"></td>'."\n";
}
echo '</tr></table></div>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
//=========================================
// si le nombre d'enregistrement à afficher .
// est plus grand que $nombre
//=========================================
if($total > $nombre) {
// affichage des liens vers les pages
affichePages($nombre,$page,$total);
// affichage des boutons
displayNextPreviousButtons($limite,$total,$nombre,$page);
}
//récupération de $limite
if(isset($_GET['limite']))
$limite=$_GET['limite'];
else $limite=0;
function verifLimite($limite,$total,$nombre) {
// je verifie si limite est un nombre.
if(is_numeric($limite)) {
// si $limite est entre 0 et $total, $limite est ok
// sinon $limite n'est pas valide.
if(($limite >=0) && ($limite <= $total) && (($limite%$nombre)==0)) {
// j'assigne 1 à $valide si $limite est entre 0 et $max
$valide = 1;
}
else {
// sinon j'assigne 0 à $valide
$valide = 0;
}
}
else {
// si $limite n'est pas numérique j'assigne 0 à $valide
$valide = 0;
}
// je renvois $valide
return $valide;
}?>
Mais cette requete affiche juste le numero des pages
Voici ma requete que j'avais commencer
[php]<?php
function displayNextPreviousButtons($limite,$total,$nb,$page) {
$limiteSuivante = $limite + $nb;
$limitePrecedente = $limite - $nb;
echo '<table align="center"><tr align="center">'."\n";
if($limite != 0) {
echo '<td valign="top" >'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="Précédents">'."\n";
echo '<input type="hidden" value="'.$limitePrecedente.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
if($limiteSuivante < $total) {
echo '<td valign="top">'."\n";
echo '<form action="'.$page.'" method="post">'."\n";
echo '<input type="submit" value="Suivants">'."\n";
echo '<input type="hidden" value="'.$limiteSuivante.'" name="limite">'."\n";
echo '</form>'."\n";
echo '</td>'."\n";
}
echo '</tr></table>'."\n";
}
function affichePages($nb,$page,$total) {
$nbpages=ceil($total/$nb);
$numeroPages = 1;
$compteurPages = 1;
$limite = 0;
echo '<table border = "0" align="center"><tr>'."\n";
while($numeroPages <= $nbpages) {
echo '<td align="center"><a href = "'.$page.'?limite='.$limite.'">'.$numeroPages.'</a></td>'."\n";
$limite = $limite + $nb;
$numeroPages = $numeroPages + 1;
$compteurPages = $compteurPages + 1;
if($compteurPages == 10) {
$compteurPages = 1;
echo '<br>'."\n";
}
}
echo '</tr></table>'."\n";
}
?>
<? $nombre = 5;
// si limite n'existe pas on l'initialise à zéro
if (!$limite) $limite = 0;
// on cherche le nom de la page.
$path_parts = pathinfo($_SERVER['PHP_SELF']);
$page = $path_parts["basename"];
//=========================================
// connection à la DB
//=========================================
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
//=========================================
// requête SQL qui compte le nombre total
// d'enregistrements dans la table.
//=========================================
$select = 'SELECT count(id) FROM jeux WHERE categorie="action" ';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$row = mysql_fetch_row($result);
$total = $row[0];
//=========================================
// vérifier la validité de notre variable
// $limite;
//=========================================
$verifLimite= verifLimite($limite,$total,$nombre);
// si la limite passée n'est pas valide on la remet à zéro
if(!$verifLimite) {
$limite = 0;
}
//=========================================
// requête SQL qui ne prend que le nombre
// d'enregistrement necessaire à l'affichage.
//=========================================
$select = 'SELECT * FROM jeux WHERE categorie="action" ORDER BY id ASC limit '.$limite.','.$nombre;
$result = mysql_query($select,$link) or die(mysql_error());
//=========================================
// si on a récupéré un resultat on l'affiche.
//=========================================
if($total) {
echo '<div style="text-align: center"><table width=100% class="tableaujeux"><tr>'."\n";
for($row = 0; $row == mysql_fetch_array($result); $row++)
{
if ($row > 0 && $row% 6 == 0)
echo "</tr>\n<tr>\n";
echo "\t".'<td><a href="http://karement.be/jeux/page.php?id='. $row['id'].'&categorie='. $row['categorie'].'¬er=non>'. $row['nom'].'</a>'.
'<a href="http://karement.be/jeux/page.php?id='. $row['id'].'&categorie='. $row['categorie'].'¬er=non">'.
'<img src=http://karement.be/jeux/'. $row['categorie'].'/images/'. $row['id'].'.gif widht="100" height="100"></td>'."\n";
}
echo '</tr></table></div>'."\n";
}
else echo 'Pas d\'enregistrements dans cette table...';
mysql_free_result($result);
//=========================================
// si le nombre d'enregistrement à afficher .
// est plus grand que $nombre
//=========================================
if($total > $nombre) {
// affichage des liens vers les pages
affichePages($nombre,$page,$total);
// affichage des boutons
displayNextPreviousButtons($limite,$total,$nombre,$page);
}
//récupération de $limite
if(isset($_GET['limite']))
$limite=$_GET['limite'];
else $limite=0;
function verifLimite($limite,$total,$nombre) {
// je verifie si limite est un nombre.
if(is_numeric($limite)) {
// si $limite est entre 0 et $total, $limite est ok
// sinon $limite n'est pas valide.
if(($limite >=0) && ($limite <= $total) && (($limite%$nombre)==0)) {
// j'assigne 1 à $valide si $limite est entre 0 et $max
$valide = 1;
}
else {
// sinon j'assigne 0 à $valide
$valide = 0;
}
}
else {
// si $limite n'est pas numérique j'assigne 0 à $valide
$valide = 0;
}
// je renvois $valide
return $valide;
}?>[/php]
Mais cette requete affiche juste le numero des pages