problème affichage page par page
Posté : 23 févr. 2009, 13:00
bonjour,
j'essai de faire afficher pour ma galerie un page par page afain de ne pas surcharger ma page.
pour faire mon afficgae page par page je fais de la sorte
galerie-evasion2.php?type=Plantes?page=1
j'ai : galerie-evasion2.php?type=?page=1
voyez vous une erreur dans ma ligne de code ou un solution a me proposé ?
j'essai de faire afficher pour ma galerie un page par page afain de ne pas surcharger ma page.
pour faire mon afficgae page par page je fais de la sorte
<?PHP
include("../admin/connexion-sql.php");
$nombre = mysql_query("SELECT count(id) FROM galerie");
$donnees = mysql_fetch_array($nombre);
$nbr = $donnees[0];
echo 'Info: <span class="Style4">'.$donnees['0'].'</span> références enregistrées dans la galerie <br/> ';
// Mise en place du systeme Page par Page
$page = isset($_GET['page']) ? $_GET['page'] : '';
// Prepare le requete MySql
$requete = "SELECT * from galerie";
$ret = mysql_query($requete);
// Variable nombre d'enreg par page
$limit=9;
if($debut==""){$debut=0;}
$debut=$page*$limit;
// Compte le nombre de champ
$nb_total=mysql_num_rows($ret);
// Requete
$limite=mysql_query("$requete limit $debut,$limit");
//Affichage le contenu de la table
//avec une limite à 12
$limit_str = "LIMIT ". $page * $limit .",$limit";
$req = mysql_query("SELECT * FROM galerie ORDER BY id DESC $limit_str");
while($data = mysql_fetch_array($req))
{
?>
<?PHP
$nb = 3; // Nombre d'affichages souhaités sur une ligne
$sql = "SELECT DISTINCT type FROM galerie"; // requête SQL
$reqtype = mysql_query($sql) or die('<u>Probleme SQL</u> : '.$sql.'<br>'.mysql_error()); // envoie de la requête
while($restype = mysql_fetch_array($reqtype))
{
echo "<a href=\"galerie-evasion2.php?type=".$restype['type']."\">";
echo "Type ".$restype['type'];
echo "</a>";
}
$type = $_GET['type'];
$sql = "SELECT * FROM galerie WHERE type='$type' ORDER BY type $limit_str"; // requête SQL
$req = mysql_query($sql) or die('<u>Probleme SQL</u> : '.$sql.'<br>'.mysql_error()); // envoie de la requête
// affichage des résultats avec $nb résultats par ligne
echo'<table>';
$i = 1;
while($resultat = mysql_fetch_array($req))
{
if($i == 1) { echo'<tr>'; }
// Suite du traitement
echo'
<td align="center">
<div class="galerie">
<div class="ref">'.$resultat['type'].' </div><div class="type">Réf : ', $resultat['ref'] ,'</div>
<a href="../images/galerie/', $resultat['photoref'] ,'" target="_blank">
<img src="mini-galerie.php?f=' , $resultat['photoref'] , '" alt="'.$resultat['type'].' réf ', $resultat['ref'] ,'" width="170" height="115"/>
</a>
<a href="../images/galerie/', $resultat['photoex'] ,'" target="_blank">
<img src="../images/exemple.png" alt="Voir l\'exemple pour le référence ', $resultat['ref'] ,'" width="68" height="32""/>
<img src="mini-galerie.php?f=' , $resultat['photoex'] , '" alt="', $resultat['alt'] ,'" width="48" height="32""/>
</a>
</div><div class="clear"></div></div>
</td>';
$i++;
if($i > $nb) { echo'</tr>'; $i = 1; }
}
echo'</table>';
?>
<?PHP
}
?>
<?PHP
echo "<div class='page'>Page </div>";
// Affiche le page par page avec ses liens
if ($page>0) {
$precedent=$page-1;
echo "<div class='page'><a href=\"$PHP_SELF?type=".$restype['type']."?page=$precedent\">PRECEDENT</a></div>";
}
$i=0;
$j=1;
if($nb_total>$limit) {
while($i<($nb_total/$limit)) {
if($i!=$page){echo "<div class='page'><a href=\"$PHP_SELF?type=".$restype['type']."?page=$i\"> $j</a></div>";}
else { echo "<div class='page'><b>$j</b></div>";}
$i++;$j++;
}
}
if($debut+$limit<$nb_total) {
$suivant=$page+1;
echo "<div class='page'><a href=\"$PHP_SELF?type=".$restype['type']."?page=$suivant\">SUIVANT</a></div>";
}
?>
l'ennui est que au lieu davoir en faonction du type galerie-evasion2.php?type=Plantes?page=1
j'ai : galerie-evasion2.php?type=?page=1
voyez vous une erreur dans ma ligne de code ou un solution a me proposé ?