Désolé pour le titre mais je n'ai pas su quoi mettre.
[Modération (Cyrano)] : Corrigé
Volià mon problème :
Je fait des recherche sur un fichier de photos.
Je me sers ensuite d'un super script trouvé sur ce site qui permet de limiter le nombre de photos par page et qui permet en utilisant une barre de navigation de naviguer de page en page.
J'ai un problème quand je clique sur la barre de navigation car rien ne se passe
Merci pur votre aide.
Mon code :
<table align="center" width=733 height=320 border=0>
<table align="center" width=500 border=0 height=50 bgcolor=#D3E134 cellspacing=2 cellpading=2>
<tr>
<td>Entrez le(s) mot(s) clé(s) dans le secteur souhaité et appuyer sur recherche :</td>
<tr>
<form action="recherche.php" method="post" >
<td width=180 align=center><input type="text" size="20" name="mot" value="" ></td>
<td width=220 align=center> <select name="id_categorie" >
<option value="toutes" >toutes catégories
<option value="1" >Glaciers
<option value="2" >Montagnes
</select>
</td>
<td width=120 align=center><input type="submit" name="rechercher" value="rechercher"></td>
</form>
</tr>
</table>
</table>
<?php
include ("connection.php");
/* Lors du chargement de la page, on vérifie si le bouton d'envoi du formulaire a été cliqué */
if(isset($_POST['rechercher']))
{
/* Le bouton de recherche a été cliqué : On récupère la valeur envoyée du formulaire */
$nom_recherche = isset($_POST['mot']) ? trim($_POST['mot']) : "";
/* On vérifie que la valeur envoyée n'est pas vide */
if(empty($nom_recherche))
{
/* La valeur envoyée est vide : on affiche un message d'erreur */
echo("<p><strong>Veuillez rentrer un mot</strong></p>\n");
}
$resultat_recherche = mysql_query("SELECT * FROM tblphotos WHERE Motcle LIKE '%$nom_recherche%'")or exit ('Erreur SQL !'.$resultat_recherche.'<br>'.mysql_error());
$nb_photos=mysql_numrows($resultat_recherche);
$nb_photos_par_page = 12;
/* Calcul du nombre total de pages : on arrondit à l'entier supérieur (ceil() ) */
$nb_pages = ceil($nb_photos / $nb_photos_par_page);
$url = "./recherche.php?page=";
/* On détermine quelle est la page qui est actuellement affichée */
$page_en_cours = isset($_GET['page']) ? $_GET['page'] : 0;
$page_affichee = ($page_en_cours + 1);
if($nb_pages > 0)
{
$barre_nav = "";
if($nb_pages > 1)
{
if($page_en_cours > 0)
{
$url_2= "./recherche.php?page=";
for($i = 0; $i < $page_en_cours; $i++)
{
$page = $i + 1;
$barre_nav .= "<a href=\"". $url_2 . $i ."\" title=\"page ". $page ."\">". $page ."</a> | ";
}
}
$barre_nav .= "<strong>". $page_affichee ."</strong>";
if(($page_affichee) < $nb_pages)
{
$url_2= "./recherche.php?page=";
$nb_suivantes = $nb_pages - ($page_affichee);
for($j = ($page_affichee); $j < $nb_pages; $j++)
{
$p = $j + 1;
$barre_nav .= " | <a href=\"". $url_2 . $j ."\" title=\"page ". $p ."\">". $p ."</a>";
}
}
$page_affichee = "Page ". $page_affichee ." sur un total de ". $nb_pages ." pages.";
}
else
{
//$page_affichee = "Page ". $page_affichee ." sur un total de ". $nb_pages ." pages.";
//$barre_nav .= "page 1/1";
$page_affichee = "Page ". $page_affichee ;
//$barre_nav .= "1";
}
$debut = $page_en_cours * $nb_photos_par_page;
$sql_photos = "SELECT * FROM tblphotos WHERE Motcle LIKE '%$nom_recherche%' LIMIT ". $debut .", ". $nb_photos_par_page .";";
$photos = mysql_query($sql_photos)or exit ('Erreur SQL !'.$sql_photos.'<br>'.mysql_error());
$nlignes = mysql_num_rows($photos);
//echo "$nlignes";
}
?>
<p class="situation"><?php echo($page_affichee); ?></p>
<table align="center" border="1" width="50%" cellspacing="0" cellpadding="5">
<tr>
<td align="center" colspan="2"><?php echo $nb_photos;?> Réponses à votre recherche</td>
</tr>
</table>
<?php
$tab=array();
$cpt=0;
?>
<table border=0 cellpadding=5 cellspacing=0 bordercolor=#FFFFFF align=center>
<?php
while ($data=mysql_fetch_array($photos))
{
echo "<td><font size=3><img src=Vignettes/{$data['Ref_Vignette']} border=0 ></td>";
?>
</td>
<?php //affichage des légendes
$tab[]=$data['Legende_Image'];
$cpt++;
if (($cpt % 4 == 0) || ($cpt==$nlignes))
{
echo "</tr><tr>";
foreach ($tab as $value) //Parcours les légendes
{
echo "<td align=center>";
echo "$value";
echo"</center></td>";
}
echo "</tr>";
array_splice ($tab, 0); // remise a zéro du tableau
}
}
}
?>
</table>
<p class="navigation" >
<?php
echo($barre_nav);
?>
</p>