jerem69300
Invité n'ayant pas de compte PHPfrance
02 juil. 2009, 14:16
Voici la page où je souhaite intégrer ma pagination
<p><!--Formulaire-->
<form name="formulaire" action="./index.php?page=test&categorie=search" method="post" id="site">
</p>
<p align="center"><?php $requete='SELECT id_site,lib_site FROM sites order by lib_site';
$resultat= mysql_query($requete);?>
<select name="choix" onChange="document.forms['site'].submit();">
<option value="0">Choisissez un site</option>
<?php
while ($donnees = mysql_fetch_array($resultat)){
echo '<option value='.$donnees[0].'>';
echo $donnees[1];
echo'</option>';
}
?>
</select></p>
<?php
// on prépare une requête permettant de calculer le nombre total d'éléments qu'il faudra afficher sur nos différentes pages
if(isset($_POST['choix'])){
$sql = 'SELECT count(*) FROM batiments where id_site = '.$_POST['choix'].' ';
// on exécute cette requête
$resultat = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on récupère le nombre d'éléments à afficher
$nb_total = mysql_fetch_array($resultat);
// on teste si ce nombre de vaut pas 0
if (($nb_total = $nb_total[0]) == 0) {
echo ' Aucune réponse trouvée';
}
else { ?>
<p align="center">
<p align="center">
<p align="center">
<?php if(isset($_POST['choix'])){
$requete2="SELECT lib_site FROM sites
WHERE id_site ='".$_POST['choix']."'
";
$resultat2=mysql_query($requete2);
while ($donnees2 = mysql_fetch_array($resultat2)){
?>
Voici tous les bâtiments du site suivant : <strong><?php echo $donnees2['lib_site'];?></strong><br><br>Pour plus d'informations sur un bâtiment, cliquez sur son nom.<br><br> <?php }
echo '<div align="center"><table width="500px" border="1" align="center">
<tr>
<td><div align="center"><strong>Code Bâtiment</strong></div></td>
<td><div align="center"><strong>Nom Bâtiment</strong></div></td>
<td><div align="center"><strong>Nb Etage Bâtiment</strong></div></td>
<td><div align="center"><strong>Fonction Bâtiment</strong></div></td>
</tr>';
// sinon, on regarde si la variable $debut (le x de notre LIMIT) n'a pas déjà été déclarée, et dans ce cas, on l'initialise à 0
if (!isset($_GET['debut'])) $_GET['debut'] = 0;
$nb_affichage_par_page = 1;
// Préparation de la requête avec le LIMIT
$sql = 'SELECT code_bat, nom_bat, nbEtage_bat, fct_bat, id_bat, lib_site FROM batiments B, sites S
WHERE B.id_site='.$_POST['choix'].'
AND S.id_site = B.id_site
ORDER BY code_bat ASC LIMIT '.$_GET['debut'].','.$nb_affichage_par_page;
// on exécute la requête
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());
// on va scanner tous les tuples un par un
while ($data = mysql_fetch_array($req)) {
// on affiches les résultats dans la <table> ?>
<tr><td><div align="center"><?php echo $data['code_bat'];?></div></td><td><div align="center"><?php
echo '<a href="./index.php?page=info_bat&categorie=batiment&choix='.$data['id_bat'].'">'.$data['nom_bat'].'</a>';?></div></td><td><div align="center"><?php
echo $data['nbEtage_bat'];?></div></td><td><div align="center"><?php
echo $data['fct_bat'];?></div></td></tr><?php
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($req);
echo '</table><br />';
// on affiche enfin notre barre
echo '<span class="gras">'.barre_navigation($nb_total, $nb_affichage_par_page, $_GET['debut'], 1).'</span>';
}
// on libère l'espace mémoire alloué pour cette requête
mysql_free_result ($resultat);
echo '</table><br />';
}
?>
</form></div></p>
<?php } ?>
Dans ma page index se trouve la fonction de pagination, elle fonctionne très bien sauf avec la page que je vient de vous mettre précedemment.
Je vous laisse mes includes de ma page index cela peut peut être servir.
<?php
if(isset($_GET['page'])){
include("./".$_GET['categorie']."/".$_GET['page'].".php");
}else{
if(!isset($_SESSION['identifiant']) && !isset($_SESSION['motdepasse'])){
include("./accueil.php");
}else{
include("./accueil.php"); ?>
<?php
}
}
?>