Problème de lien avec ma pagination php

Signaler
Messages postés
101
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2019
-
Armelkev
Messages postés
101
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2019
-
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']))
{
$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';
$nb 'select count(*) AS nbre from hotel where Commune"'.$commune.'"';
$count = mysql_query($nb) or Die ('Erreur2');
$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.

11 réponses

Messages postés
101
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2019

Slt,
quand je pointe la souris sur 2, il y'a pas de jeux de liens.
Messages postés
101
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2019

svp, est ce un pb avec le form et le php puisque le traitement se fait dans mon formulaire.
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
10
bonjour

tu recherches tes communes dans la table par leur nom ?
ou par ce que tu mets dans les values des <option value="">
je vois des chiffres ?

peut avoir une dizaine d'enregistrements de ta table pour comprendre





Bonne programmation !
Messages postés
101
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2019

les recherches se font avec les values des options.
1 Hôtel Kimi Yopougon Maroc 08134436 okoukevin@yahoo.fr 4 1
2 Hôtel Ralex Cité Verte 08134436 okoukevin@yahoo.fr NULL 4 1
3 Golf Hôtel Riviera Golf 08134436 okoukevin@yahoo.fr NULL 2 1
4 Anna Hotel Yopougon Annaneraie 08134436 okoukevin@yahoo.fr NULL 4 1
5 Hotel Le Président Djoulabougou 08134436/07210582 okoukevin@yahoo.fr NULL 0 2
6 Hôtel Kimi Yopougon Maroc 08134436 okoukevin@yahoo.fr 4 1
7 Hôtel Ralex Cité Verte 08134436 okoukevin@yahoo.fr NULL 4 1
8 Golf Hôtel Riviera Golf 08134436 okoukevin@yahoo.fr NULL 2 1
9 Anna Hotel Yopougon Annaneraie 08134436 okoukevin@yahoo.fr NULL 4 1
10 Hotel Le Président Djoulabougou 08134436/07210582 okoukevin@yahoo.fr NULL 0 2
Messages postés
1654
Date d'inscription
dimanche 7 septembre 2008
Statut
Membre
Dernière intervention
11 septembre 2013
10
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 !
Messages postés
101
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2019

Bjr cod57,
j'ai exécuté ton code. Il m'affiche les résultats des recherches et les différentes pages mais il ne voit pas les pages en lien.
Dans le bas de ma page web je vois:
Page:[1]2
Et je peux cliquer sur 2.
Merci de m'aider
Messages postés
101
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2019

j'ai copier le code source de mon lien que j'ai inséré dans mon code c'est à dire:
[hotel.php?page=1&commune=4 1]
[hotel.php?page=2&commune=4 2]
je réussie naviguer mais en php ça ne passe pas.
Merci de m'aider
Messages postés
101
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2019

j'ai essayé de lancer mon application web avec Explorer ça passe bien j'arrive à cliquer sur les différents liens le code est bon mais pas avec Mozilla FireFox.
Pourrais-je avoir une solution pour Mozilla FireFoxe
Messages postés
101
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2019

Slt, alain mon code marche très bien.
J'ai pu naviguer sur mes différentes pages. Au faite j'ai un problème avec mon css, j'explique: quand mon formulaire occupe toute la largeur de mon écran il empêche mes pages de fonctionner et quand je le réduis ça marche. Chose bizarre.
Messages postés
101
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2019

Mon code php est le suivant:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>JDH :: Recherche d'hôtels</title>
<!--<link rel="icon" href="images/domination.jpg" type="image/x-icon">-->
<link rel="stylesheet" type="text/css" href="MozillaStyle.css" />
<!--[if lte IE 8]>
<link rel="stylesheet" type="text/css" href="ExplorerStyle.css" />
<![endif]-->
</head>


<!--Debut table-->

<li id = "current">[hotel.php?page='.$i.'&commune='.$commune.' ['.$i.']] ';}
}echo '

';
?>
<?php
}else{echo '<meta http-equiv="refresh" content = "0;URL=hotel.php">';}
}
?>
<!--Fin table-->
</td>
</table>

</html>

Mon css:

/* CSS Document */

body
{
background:url(Images/fond.png);
font: 0.9em 'Trebuchet MS',verdana,arial,sans-serif;
margin:5px 0.5em 2pt 340px ;
padding: 0;
}

#Menu
{
position:absolute;
/*background:url(Images/trait2.png) repeat-x bottom;*/
top:100px;
left:310px;
overflow:hidden;
float:left;
width:70%;
font-size:93%;
line-height:normal;
}

#Menu ul
{
margin:0;
padding:10px 10px 0;
list-style:none;
}

#Menu li
{
float:left;
background:url(Images/norm_left.gif) no-repeat left top;
margin:0;
padding:0 0 0 9px
}

#Menu a {
display:block;
background:url(Images/norm_right.gif) no-repeat right top;
padding:5px 15px 2px 6px;
text-decoration:none;
font-weight:bold;
color:#000000;
}

#Menu #current {
background-image:url(Images/norm_left_on.gif);
}
#Menu #current a {
background-image:url(Images/norm_right_on.gif);
padding-bottom:5px;
}
#Menu li a:hover{background-color:#FF0000;}
#menu li a:activate{background-color:#FFFF00;}

.tablo{
background-color:#FFFFFF;
font:0.9em 'Trebuchet MS',verdana,arial,sans-serif;
margin:5px 0.5em 2pt 310px ;
width:800px;
height:600px;
position:absolute;
margin-bottom:20px;
left:10px;
margin-top:50px;
/*left:300px;
right:150px;*/
}

.tabloinfo{
background-color:#FFFFFF;
font:0.9em 'Trebuchet MS',verdana,arial,sans-serif;
margin:5px 0.5em 2pt 310px ;
width:837px;
height:600px;
position:absolute;
margin-bottom:20px;
left:10px;
margin-top:50px;
/*left:300px;
right:150px;*/
}

#entête
{
position:absolute;
top:55px;
}

#corps
{
position:absolute;
top:207px;
/*left:568px;
width: 596px;*/
}
/*#corps .imageaccueil
{
position:absolute;
top:150px;
}*/
#corps .animationaccueil
{
position:absolute;
top:10px;
left:400px;

}
#corps .imageboussoleaccueil
{
position:absolute;
top:278px;
left:550px;
/*width: 596px;*/
}

#recherche{
position:absolute;
top:130px;
left:420px;
width:300px;
height:300px;
}

#recherche h4{
background:url(Images/recherche2.png) repeat;
/*position:absolute;*/
width:840px;
padding:2px;
text-align:center;
margin-bottom:0px;
}

.element{
background:url(Images/element1.png) no-repeat;
height:228px;
width:845px;
padding-left:5px;
margin-top:0px;
}

#recherchhotel{
width:200px;
}

#tabloHotel
{
position:absolute;
top:300px;
left:325px;
width:825px;
height:400px;
}

#tabloHotel caption
{
background:url(Images/recherche2.png);
padding:4px;
padding-left:100px;
margin-bottom:0px;
text-align:center;
}

#tabloHotel .elementHotel
{
padding-top:5px;
padding-left:10px;
margin-top:0px;
height:35px;
}
Messages postés
101
Date d'inscription
mercredi 23 septembre 2009
Statut
Membre
Dernière intervention
19 juillet 2019

Lorsque je remplace left:318px; dans #recherche, je peux plus naviguer dans mes pages.