bon j'ai reussi à faire tourner le code
mais
j'ai renforcé la securité
mais l'organisation de ton code est bancal ...
tu n'envoyai pas le $_GET
<!--
Bonjour,
je travaille sur un projet web où je dois faire des recherches et afficher
les résultats de ces recherches.
Je réussie a faire ressortie mes résultats et à afficher mes différentes pages,
mon problème c'est que je n'arrive pas à cliquer sur mes liens pages.
NB: Je fais mon traitement sur ma page formulaire
Mon code est le suivant:
-->
Recherche d' hôtels
<form action= "hotel.php" method="post" name="form1">
Ville: <select name="ville" id="recherchhotel">
<option value="1">Abidjan</option>
<option value="2">Yamoussoukro</option>
<option value="3">Bouaké</option>
<option value="4">Daloa</option>
</select>
Commune: <select name= "commune" id="recherchhotel">
<option value="">Indefini</option>
<option value="1">Abobo</option>
<option value="2">Cocody</option>
<option value="3">Treichville</option>
<option value="4">Yopougon</option>
</select>
<!--[hotel3.php kevin]-->
</form>
<?php
//include("connect.php");
if (!empty($_POST['commune']) || $_GET['page'])
{
include("connect.php");
/*
mysql_connect('localhost','root','');
mysql_select_db('a');
echo '';
print_r($_POST);
print_r($_GET);
echo '
';
*/
if(isset($_GET['page'])){
$commune = mysql_real_escape_string((int)$_GET['commune']);
}else{
$commune = mysql_real_escape_string((int)$_POST['commune']);
}
//$commune = $_POST['commune'];
//Demarrage de la session
//session_start();
//$_SESSION['commune']=$_POST['commune'];
// On met dans une variable le nombre de messages qu'on veut par page
$nombreDeMessagesParPage = 2;
//On compte le nombre d'hôtels
//$nb = 'select count(*) AS nbre from hotel';
echo $nb="select count(*) as nbre from hotel where commune=".$commune;
$count = mysql_query($nb) or Die ('Erreur2');
$reponse = mysql_fetch_array($count);
//$reponse = mysql_fetch_array($count);
$totalDesMessages = $reponse['nbre'];
if ($totalDesMessages>0)
{echo 'il ya '.$totalDesMessages;
// On calcule le nombre de pages à créer
$nombreDePages = ceil($totalDesMessages / $nombreDeMessagesParPage);
// --------------- Etape 3 ---------------
// Maintenant, on va afficher les messages
// ---------------------------------------
if(isset($_GET['page']))
{
$pageActuelle = intval($_GET['page']);
if ($pageActuelle>$nombreDeMessagesParPage)
{$pageActuelle=$nombreDeMessagesParPage;}
}else{$pageActuelle = 1;}
// On calcule le numéro du premier message qu'on prend pour le LIMIT de MySQL
$premierMessageAafficher = ($pageActuelle - 1) * $nombreDeMessagesParPage;
//$sql = 'select NomHotel, LieuHotel, TelHotel, EmailHotel, SitewebHotel from hotel ORDER BY NomHotel ASC LIMIT '.$premierMessageAafficher. ','.$nombreDeMessagesParPage;
$sql = 'select NomHotel, LieuHotel, TelHotel, EmailHotel, SitewebHotel from hotel where Commune="'.$commune.'" ORDER BY NomHotel ASC LIMIT '. $premierMessageAafficher. ', '.$nombreDeMessagesParPage;
?>
<caption>Resultat(s) de la recherche</caption>
<!-- En-tête du tableau -->
----
Hôtel |
Lieu |
Téléphone |
Email |
Site web |
<!-- Corps du tableau -->
<?php
//On affiche les données
$req = mysql_query($sql) or Die ('Erreur1');
while ($donnees = mysql_fetch_array($req))
{
?>
----
<?php echo $donnees['NomHotel']; ?>,
<?php echo $donnees['LieuHotel']; ?>,
<?php echo $donnees['TelHotel']; ?>,
<?php echo $donnees['EmailHotel']; ?>,
<?php echo $donnees['SitewebHotel']; ?>,
<?php
}
?>
<?php
echo 'Page:';
for ($i=1; $i<=$nombreDePages; $i++)
{
if ($i == $pageActuelle)
{echo '[' .$i. ']';}else{echo '[hotel.php?page='.$i.'&commune='.$commune.' ['.$i.']]';}
}echo '
';
}else{echo '<meta http-equiv="refresh" content = "0;URL=hotel.php">';}
}
?>
<!--
Par exemple lorsque je choisis Yopougon, j'ai 4 resultats donc 2 pages:
Ma page web affiche:
Page:[1]2
mais je n'arrive pas à cliquer sur 2.
Merci d'avance.
-->
Bonne programmation !