par
dread » 09 mars 2007, 17:29
Bonjour à tous.
Je réalise un annuaire des campings de ma région et je me retrouve face à un soucis.
Je m'explique: J'arrive à afficher les enregistrements des campings (contenus dans une base de données) de façon aléatoire, grâce à ORDER BY RAND (). Le soucis, c'est que j'ai limité l'affichage de ces enregistrements à 8 par page et que lorsque je navigue sur les différentes pages, je peux retrouver des enregistrements de la page 1 sur la page 2 et ainsi de suite.
n fait, l'aléatoire fonctionne sur toutes les pages et sur la totalité des enregistrements sans se soucier si tel ou tel camping se trouvait déjà sur la page 1(par exemple).
Je voulais donc savoir comment vous vous y prendriez pour que l'aléatoire ne s'effectue qu'une seule fois (au premier chargement des données par exemple) pour éviter les doublons lors de la navigation d'un visiteur.
Y aurait-il un rapport avec les SESSIONS.
Je débute et j'ai un peu de mal donc si quelqu'un pouvait m'aider.
Merci par avance!!
Voici le code de ma page même s'il est un peu long:
<?php require_once('Connections/conn_develop.php'); ?>
<?php
session_start();
if (isset($_GET['menu'])) { // si la donnée est passée en get
// elle est explicitement demandée par l'utilisateur, donc on l'utilise :)
$menu = $_GET['menu'];
}
else { // sinon
if (isset($_SESSION['menu'])) { // si la donnée existe en session
// c'est qu'elle a été précément demandée par l'utilisateur, donc on l'utilise
$menu = $_SESSION['menu'];
} else {
$menu = '1-menu'; // valeur par défaut
}
}
$_SESSION['menu'] = $menu; // stocke la nouvelle valeur de $menu dans la session
function pagination($total,$courante)
{
$prec = $courante - 1;
$suiv = $courante + 1;
$avder = $total - 1;
$adjacentes = 3;
$pagination = "";
if($total > 1)
{
$pagination .= "<div class=\"pagination\">\n";
if ($courante == 2)
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."\">« préc</a>";
elseif ($courante > 2)
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$prec\">« préc</a>";
else
$pagination.= "<span class=\"desactive\">« préc</span>";
if ($total < 7 + ($adjacentes * 2))
{
$pagination.= ($courante == 1) ? "<span class=\"courante\">1</span>" : "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."\">1</a>";
for ($compteur = 2; $compteur <= $total; $compteur++)
{
if ($compteur == $courante)
$pagination.= "<span class=\"courante\">$compteur</span>";
else
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$compteur\">$compteur</a>";
}
}
elseif($total > 5 + ($adjacentes * 2))
{
if($courante < 1 + ($adjacentes * 2))
{
$pagination.= ($courante == 1) ? "<span class=\"courante\">1</span>" : "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."\">1</a>";
for ($compteur = 2; $compteur < 4 + ($adjacentes * 2); $compteur++)
{
if ($compteur == $courante)
$pagination.= "<span class=\"courante\">$compteur</span>";
else
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$compteur\">$compteur</a>";
}
$pagination.= " ... ";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$avder\">$avder</a>";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$total\">$total</a>";
}
elseif($total - ($adjacentes * 2) > $courante && $courante > ($adjacentes * 2))
{
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."\">1</a>";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=2\">2</a>";
$pagination.= " ... ";
for ($compteur = $courante - $adjacentes; $compteur <= $courante + $adjacentes; $compteur++)
{
if ($compteur == $courante)
$pagination.= "<span class=\"courante\">$compteur</span>";
else
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$compteur\">$compteur</a>";
}
$pagination.= " ... ";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$avder\">$avder</a>";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$total\">$total</a>";
}
else
{
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."\">1</a>";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=2\">2</a>";
$pagination.= " ... ";
for ($compteur = $total - (2 + ($adjacentes * 2)); $compteur <= $total; $compteur++)
{
if ($compteur == $courante)
$pagination.= "<span class=\"courante\">$compteur</span>";
else
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$compteur\">$compteur</a>";
}
}
}
if ($courante < $compteur - 1)
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$suiv\">suiv »</a>\n";
else
$pagination.= "<span class=\"desactive\">suiv »</span>\n";
$pagination.= "</div>\n";
}
return ($pagination);
}
/** On calcule le nombre total d'entrées de notre table ma_table que l'on stocke dans $nb_entrees */
mysql_select_db($database_conn_develop, $conn_develop);
$query = mysql_query('SELECT COUNT(*) FROM tbl_etab WHERE type_etab="camping"') or die(mysql_error());
$nb_entrees = mysql_result($query,0,0);
/** On configure les variables pour afficher notre requête */
$entrees_par_page = 8; // nombre d'entrée à afficher par page
$total_pages = ceil($nb_entrees/$entrees_par_page); // calcul du nombre de pages nécessaires pour tout afficher (on arrondit à l'entier supérieur)
/** On récupère le numéro de la page depuis l'URL avec la méthode GET*/
if(!isset($_GET['page'])){
$page_courante = 1; // si aucune page n'existe dans l'URL, on attribue 1 à la page courante
} else {
$page = $_GET['page'];
if ($page<1) $page_courante=1; // on ne peut avoir de page inférieure à 1 : dans ce cas la valeur par défaut est 1
elseif ($page>$total_pages) $page_courante=$total_pages; // on ne peut avoir de page supérieure au nombre total de pages : dans ce cas la valeur par défaut est la dernière page
else $page_courante=$page; // sinon la page courante est celle indiquée dans l'URL
}
// $start est la valeur de départ du LIMIT dans notre requête SQL (est fonction de la page courante)
$start = ($page_courante * $entrees_par_page - $entrees_par_page);
mysql_select_db($database_conn_develop, $conn_develop);
if ((($_GET['etoile']) != '') && (($_GET['etoile']) != 'toutes')){
$query_rs_ville = "SELECT DISTINCT ville_etab FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab AND type_etab='camping' AND nb_etoile_camping='".$_GET['etoile']."' ORDER BY ville_etab ASC";
} else {
$query_rs_ville = "SELECT DISTINCT ville_etab FROM tbl_etab WHERE type_etab='camping' ORDER BY ville_etab ASC";
}
$rs_ville = mysql_query($query_rs_ville, $conn_develop) or die(mysql_error());
$row_rs_ville = mysql_fetch_assoc($rs_ville);
mysql_select_db($database_conn_develop, $conn_develop);
if ((($_GET['ville']) != '') && (($_GET['ville']) != 'toutes')){
$query_rs_etoile = "SELECT DISTINCT nb_etoile_camping FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab AND ville_etab='".$_GET['ville']."' ORDER BY nb_etoile_camping ASC";
} else {
$query_rs_etoile = "SELECT DISTINCT nb_etoile_camping FROM tbl_camping ORDER BY nb_etoile_camping ASC";
}
$rs_etoile = mysql_query($query_rs_etoile, $conn_develop) or die(mysql_error());
$row_rs_etoile = mysql_fetch_assoc($rs_etoile);
mysql_select_db($database_conn_develop, $conn_develop);
if (($_GET['ville']) == ''){ $_GET['ville'] = 'toutes';}
if (($_GET['etoile']) == ''){ $_GET['etoile'] = 'toutes';}
if ((($_GET['ville'])!='toutes') && (($_GET['etoile'])=='toutes')){
$query_rs_camping = "SELECT nom_etab, cp_etab, ville_etab, url_photo4, titre_photo1, date_ouverture, nb_etoile_camping, id_camping FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab AND ville_etab='".$_GET['ville']."' order by rand() LIMIT $start, $entrees_par_page";
}
else{
if ((($_GET['etoile'])!='toutes') && (($_GET['ville'])=='toutes')){
$query_rs_camping = "SELECT nom_etab, cp_etab, ville_etab, url_photo4, titre_photo1, date_ouverture, nb_etoile_camping, id_camping FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab AND nb_etoile_camping='".$_GET['etoile']."' order by rand() LIMIT $start, $entrees_par_page";
}
else{
if (($_GET['ville']=='toutes') && ($_GET['etoile']=='toutes')){
$query_rs_camping = "SELECT nom_etab, cp_etab, ville_etab, url_photo4, titre_photo1, date_ouverture, nb_etoile_camping, id_camping FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab order by rand() LIMIT $start, $entrees_par_page";
}
else{
$query_rs_camping = "SELECT nom_etab, cp_etab, ville_etab, url_photo4, titre_photo1, date_ouverture, nb_etoile_camping, id_camping FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab AND ville_etab='".$_GET['ville']."' AND nb_etoile_camping='".$_GET['etoile']."' order by rand() LIMIT $start, $entrees_par_page";
}
}
}
$resultat = mysql_query($query_rs_camping);
?>
<!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" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Menu CSS avec contenu</title>
<meta name="Description" content="Comment faire un menu CSS"/>
<meta name="Keywords" content=" Menu CSS, menu CSS, menu déroulant, test menu horizontal, menu hover"/>
<link href="annuaire.css" rel="stylesheet" type="text/css" />
<link href="bandeau-piedpage.css" rel="stylesheet" type="text/css" />
<link href="pagination.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="annuaire-ie.css" media="screen" />
<![endif]-->
<script type="text/javascript">
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
for (var i = 1; i<=10; i++) {
if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}
//-->
function submit(){
document.forms['frm_ville'].submit();
}
</script>
</head>
<body>
<div id="global">
<?php
include('./'.$menu . '.htm');
include('bandeau-piedpage.htm');
?>
<div id="contenu">
<?php
while($row_rs_camping = mysql_fetch_array($resultat)) { ?>
<table class="tableau" height="110px" width="461px" border="0" cellspacing="0" cellpadding="0" background="Images/annuaire/vignette-annuaire.gif">
<tr>
<td class="photo" rowspan="4" height="97px" width="140px" ><img src="<?php echo $row_rs_camping['url_photo4']; ?>" alt="<?php echo $row_rs_camping['titre_photo1']; ?>"/></td>
<td class="nom" colspan="2" width="315px" height="30px"><a href="fiche-camping.php?num_camping=<?php echo $row_rs_camping['id_camping']; ?>"><?php echo $row_rs_camping['nom_etab']; ?></a></td>
</tr>
<tr>
<td width="315px" height="24px" colspan="2"><span class="Style1"><?php echo $row_rs_camping['cp_etab']; ?> <?php echo $row_rs_camping['ville_etab']; ?></span></td>
</tr>
<tr>
<td colspan="2" width="315px" height="18px" valign="top"><span class="Style1"><?php echo $row_rs_camping['date_ouverture']; ?></span></td>
</tr>
<tr>
<td width="150px" height="25px" valign="top"><span class="Style1"><?php if (($row_rs_camping['nb_etoile_camping']) != '0'){ echo '<img src="Images/etoile/etoile'.$row_rs_camping['nb_etoile_camping'].'.gif" alt="Camping '.$row_rs_camping['nb_etoile_camping'].' étoiles"></img>';}; ?></span></td>
<td class="fiche" width="165px" height="25px" valign="top"><a href="fiche-camping.php?num_camping=<?php echo $row_rs_camping['id_camping']; ?>">Fiche complète</a></td>
</tr>
</table>
<?php } ?>
</div>
<div id="filtre">
<table class="tri" border="0" cellspacing="0" cellpadding="0" valign="top">
<tr>
<form id="frm_ville" name="frm_ville" method="GET" action="annuaire-camping.php">
<td class="ville" width="400px" valign="top">Tri par ville
<select name="ville" id="ville" onchange="submit()">
<?php
if ($_GET['ville'] == 'toutes') {
echo '<option value="toutes" selected="selected">Toutes les villes</option>';
} else {
echo '<option value="toutes">Toutes les villes</option>';
}
do {
if ($_GET['ville'] == $row_rs_ville['ville_etab']) {
echo '<option value="'.$row_rs_ville['ville_etab'].'" selected="selected">'.$row_rs_ville['ville_etab'].'</option>';
} else {
echo '<option value="'.$row_rs_ville['ville_etab'].'">'.$row_rs_ville['ville_etab'].'</option>';
}
} while ($row_rs_ville = mysql_fetch_assoc($rs_ville));
?>
</select></td>
<td class="etoile" width="380px" valign="top">Tri par étoiles
<!--<form id="frm_etoile" name="frm_etoile" method="GET" action="annuaire-campingtest.php">-->
<select name="etoile" id="etoile" onchange="submit()">
<?php
if ($_GET['etoile'] == 'toutes') {
echo '<option value="toutes" selected="selected">Toutes les étoiles</option>';
} else {
echo '<option value="toutes">Toutes les étoiles</option>';
}
do {
if ($_GET['etoile'] == $row_rs_etoile['nb_etoile_camping']) {
echo '<option value="'.$row_rs_etoile['nb_etoile_camping'].'" selected="selected">'.$row_rs_etoile['nb_etoile_camping'].'</option>';
} else {
echo '<option value="'.$row_rs_etoile['nb_etoile_camping'].'">'.$row_rs_etoile['nb_etoile_camping'].'</option>';
}
} while ($row_rs_etoile = mysql_fetch_assoc($rs_etoile));
?>
</select>
</td></form>
<td valign="top"><?php
echo pagination($total_pages,$page_courante);
?></td>
</tr>
</table>
</div>
</div>
</body>
</html>
<?php
mysql_free_result($rs_ville);
mysql_free_result($rs_etoile);
?>
Bonjour à tous.
Je réalise un annuaire des campings de ma région et je me retrouve face à un soucis.
Je m'explique: J'arrive à afficher les enregistrements des campings (contenus dans une base de données) de façon aléatoire, grâce à ORDER BY RAND (). Le soucis, c'est que j'ai limité l'affichage de ces enregistrements à 8 par page et que lorsque je navigue sur les différentes pages, je peux retrouver des enregistrements de la page 1 sur la page 2 et ainsi de suite.
n fait, l'aléatoire fonctionne sur toutes les pages et sur la totalité des enregistrements sans se soucier si tel ou tel camping se trouvait déjà sur la page 1(par exemple).
Je voulais donc savoir comment vous vous y prendriez pour que l'aléatoire ne s'effectue qu'une seule fois (au premier chargement des données par exemple) pour éviter les doublons lors de la navigation d'un visiteur.
Y aurait-il un rapport avec les SESSIONS.
Je débute et j'ai un peu de mal donc si quelqu'un pouvait m'aider.
Merci par avance!!
Voici le code de ma page même s'il est un peu long:
[php]
<?php require_once('Connections/conn_develop.php'); ?>
<?php
session_start();
if (isset($_GET['menu'])) { // si la donnée est passée en get
// elle est explicitement demandée par l'utilisateur, donc on l'utilise :)
$menu = $_GET['menu'];
}
else { // sinon
if (isset($_SESSION['menu'])) { // si la donnée existe en session
// c'est qu'elle a été précément demandée par l'utilisateur, donc on l'utilise
$menu = $_SESSION['menu'];
} else {
$menu = '1-menu'; // valeur par défaut
}
}
$_SESSION['menu'] = $menu; // stocke la nouvelle valeur de $menu dans la session
function pagination($total,$courante)
{
$prec = $courante - 1;
$suiv = $courante + 1;
$avder = $total - 1;
$adjacentes = 3;
$pagination = "";
if($total > 1)
{
$pagination .= "<div class=\"pagination\">\n";
if ($courante == 2)
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."\">« préc</a>";
elseif ($courante > 2)
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$prec\">« préc</a>";
else
$pagination.= "<span class=\"desactive\">« préc</span>";
if ($total < 7 + ($adjacentes * 2))
{
$pagination.= ($courante == 1) ? "<span class=\"courante\">1</span>" : "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."\">1</a>";
for ($compteur = 2; $compteur <= $total; $compteur++)
{
if ($compteur == $courante)
$pagination.= "<span class=\"courante\">$compteur</span>";
else
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$compteur\">$compteur</a>";
}
}
elseif($total > 5 + ($adjacentes * 2))
{
if($courante < 1 + ($adjacentes * 2))
{
$pagination.= ($courante == 1) ? "<span class=\"courante\">1</span>" : "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."\">1</a>";
for ($compteur = 2; $compteur < 4 + ($adjacentes * 2); $compteur++)
{
if ($compteur == $courante)
$pagination.= "<span class=\"courante\">$compteur</span>";
else
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$compteur\">$compteur</a>";
}
$pagination.= " ... ";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$avder\">$avder</a>";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$total\">$total</a>";
}
elseif($total - ($adjacentes * 2) > $courante && $courante > ($adjacentes * 2))
{
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."\">1</a>";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=2\">2</a>";
$pagination.= " ... ";
for ($compteur = $courante - $adjacentes; $compteur <= $courante + $adjacentes; $compteur++)
{
if ($compteur == $courante)
$pagination.= "<span class=\"courante\">$compteur</span>";
else
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$compteur\">$compteur</a>";
}
$pagination.= " ... ";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$avder\">$avder</a>";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$total\">$total</a>";
}
else
{
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."\">1</a>";
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=2\">2</a>";
$pagination.= " ... ";
for ($compteur = $total - (2 + ($adjacentes * 2)); $compteur <= $total; $compteur++)
{
if ($compteur == $courante)
$pagination.= "<span class=\"courante\">$compteur</span>";
else
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$compteur\">$compteur</a>";
}
}
}
if ($courante < $compteur - 1)
$pagination.= "<a href=\"annuaire-camping.php?ville=".$_GET['ville']."&etoile=".$_GET['etoile']."&page=$suiv\">suiv »</a>\n";
else
$pagination.= "<span class=\"desactive\">suiv »</span>\n";
$pagination.= "</div>\n";
}
return ($pagination);
}
/** On calcule le nombre total d'entrées de notre table ma_table que l'on stocke dans $nb_entrees */
mysql_select_db($database_conn_develop, $conn_develop);
$query = mysql_query('SELECT COUNT(*) FROM tbl_etab WHERE type_etab="camping"') or die(mysql_error());
$nb_entrees = mysql_result($query,0,0);
/** On configure les variables pour afficher notre requête */
$entrees_par_page = 8; // nombre d'entrée à afficher par page
$total_pages = ceil($nb_entrees/$entrees_par_page); // calcul du nombre de pages nécessaires pour tout afficher (on arrondit à l'entier supérieur)
/** On récupère le numéro de la page depuis l'URL avec la méthode GET*/
if(!isset($_GET['page'])){
$page_courante = 1; // si aucune page n'existe dans l'URL, on attribue 1 à la page courante
} else {
$page = $_GET['page'];
if ($page<1) $page_courante=1; // on ne peut avoir de page inférieure à 1 : dans ce cas la valeur par défaut est 1
elseif ($page>$total_pages) $page_courante=$total_pages; // on ne peut avoir de page supérieure au nombre total de pages : dans ce cas la valeur par défaut est la dernière page
else $page_courante=$page; // sinon la page courante est celle indiquée dans l'URL
}
// $start est la valeur de départ du LIMIT dans notre requête SQL (est fonction de la page courante)
$start = ($page_courante * $entrees_par_page - $entrees_par_page);
mysql_select_db($database_conn_develop, $conn_develop);
if ((($_GET['etoile']) != '') && (($_GET['etoile']) != 'toutes')){
$query_rs_ville = "SELECT DISTINCT ville_etab FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab AND type_etab='camping' AND nb_etoile_camping='".$_GET['etoile']."' ORDER BY ville_etab ASC";
} else {
$query_rs_ville = "SELECT DISTINCT ville_etab FROM tbl_etab WHERE type_etab='camping' ORDER BY ville_etab ASC";
}
$rs_ville = mysql_query($query_rs_ville, $conn_develop) or die(mysql_error());
$row_rs_ville = mysql_fetch_assoc($rs_ville);
mysql_select_db($database_conn_develop, $conn_develop);
if ((($_GET['ville']) != '') && (($_GET['ville']) != 'toutes')){
$query_rs_etoile = "SELECT DISTINCT nb_etoile_camping FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab AND ville_etab='".$_GET['ville']."' ORDER BY nb_etoile_camping ASC";
} else {
$query_rs_etoile = "SELECT DISTINCT nb_etoile_camping FROM tbl_camping ORDER BY nb_etoile_camping ASC";
}
$rs_etoile = mysql_query($query_rs_etoile, $conn_develop) or die(mysql_error());
$row_rs_etoile = mysql_fetch_assoc($rs_etoile);
mysql_select_db($database_conn_develop, $conn_develop);
if (($_GET['ville']) == ''){ $_GET['ville'] = 'toutes';}
if (($_GET['etoile']) == ''){ $_GET['etoile'] = 'toutes';}
if ((($_GET['ville'])!='toutes') && (($_GET['etoile'])=='toutes')){
$query_rs_camping = "SELECT nom_etab, cp_etab, ville_etab, url_photo4, titre_photo1, date_ouverture, nb_etoile_camping, id_camping FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab AND ville_etab='".$_GET['ville']."' order by rand() LIMIT $start, $entrees_par_page";
}
else{
if ((($_GET['etoile'])!='toutes') && (($_GET['ville'])=='toutes')){
$query_rs_camping = "SELECT nom_etab, cp_etab, ville_etab, url_photo4, titre_photo1, date_ouverture, nb_etoile_camping, id_camping FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab AND nb_etoile_camping='".$_GET['etoile']."' order by rand() LIMIT $start, $entrees_par_page";
}
else{
if (($_GET['ville']=='toutes') && ($_GET['etoile']=='toutes')){
$query_rs_camping = "SELECT nom_etab, cp_etab, ville_etab, url_photo4, titre_photo1, date_ouverture, nb_etoile_camping, id_camping FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab order by rand() LIMIT $start, $entrees_par_page";
}
else{
$query_rs_camping = "SELECT nom_etab, cp_etab, ville_etab, url_photo4, titre_photo1, date_ouverture, nb_etoile_camping, id_camping FROM tbl_etab, tbl_camping WHERE tbl_etab.etab_id=tbl_camping.id_etab AND ville_etab='".$_GET['ville']."' AND nb_etoile_camping='".$_GET['etoile']."' order by rand() LIMIT $start, $entrees_par_page";
}
}
}
$resultat = mysql_query($query_rs_camping);
?>
<!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" xml:lang="fr" lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Menu CSS avec contenu</title>
<meta name="Description" content="Comment faire un menu CSS"/>
<meta name="Keywords" content=" Menu CSS, menu CSS, menu déroulant, test menu horizontal, menu hover"/>
<link href="annuaire.css" rel="stylesheet" type="text/css" />
<link href="bandeau-piedpage.css" rel="stylesheet" type="text/css" />
<link href="pagination.css" rel="stylesheet" type="text/css" />
<!--[if lte IE 6]>
<link rel="stylesheet" type="text/css" href="annuaire-ie.css" media="screen" />
<![endif]-->
<script type="text/javascript">
<!--
window.onload=montre;
function montre(id) {
var d = document.getElementById(id);
for (var i = 1; i<=10; i++) {
if (document.getElementById('smenu'+i)) {document.getElementById('smenu'+i).style.display='none';}
}
if (d) {d.style.display='block';}
}
//-->
function submit(){
document.forms['frm_ville'].submit();
}
</script>
</head>
<body>
<div id="global">
<?php
include('./'.$menu . '.htm');
include('bandeau-piedpage.htm');
?>
<div id="contenu">
<?php
while($row_rs_camping = mysql_fetch_array($resultat)) { ?>
<table class="tableau" height="110px" width="461px" border="0" cellspacing="0" cellpadding="0" background="Images/annuaire/vignette-annuaire.gif">
<tr>
<td class="photo" rowspan="4" height="97px" width="140px" ><img src="<?php echo $row_rs_camping['url_photo4']; ?>" alt="<?php echo $row_rs_camping['titre_photo1']; ?>"/></td>
<td class="nom" colspan="2" width="315px" height="30px"><a href="fiche-camping.php?num_camping=<?php echo $row_rs_camping['id_camping']; ?>"><?php echo $row_rs_camping['nom_etab']; ?></a></td>
</tr>
<tr>
<td width="315px" height="24px" colspan="2"><span class="Style1"><?php echo $row_rs_camping['cp_etab']; ?> <?php echo $row_rs_camping['ville_etab']; ?></span></td>
</tr>
<tr>
<td colspan="2" width="315px" height="18px" valign="top"><span class="Style1"><?php echo $row_rs_camping['date_ouverture']; ?></span></td>
</tr>
<tr>
<td width="150px" height="25px" valign="top"><span class="Style1"><?php if (($row_rs_camping['nb_etoile_camping']) != '0'){ echo '<img src="Images/etoile/etoile'.$row_rs_camping['nb_etoile_camping'].'.gif" alt="Camping '.$row_rs_camping['nb_etoile_camping'].' étoiles"></img>';}; ?></span></td>
<td class="fiche" width="165px" height="25px" valign="top"><a href="fiche-camping.php?num_camping=<?php echo $row_rs_camping['id_camping']; ?>">Fiche complète</a></td>
</tr>
</table>
<?php } ?>
</div>
<div id="filtre">
<table class="tri" border="0" cellspacing="0" cellpadding="0" valign="top">
<tr>
<form id="frm_ville" name="frm_ville" method="GET" action="annuaire-camping.php">
<td class="ville" width="400px" valign="top">Tri par ville
<select name="ville" id="ville" onchange="submit()">
<?php
if ($_GET['ville'] == 'toutes') {
echo '<option value="toutes" selected="selected">Toutes les villes</option>';
} else {
echo '<option value="toutes">Toutes les villes</option>';
}
do {
if ($_GET['ville'] == $row_rs_ville['ville_etab']) {
echo '<option value="'.$row_rs_ville['ville_etab'].'" selected="selected">'.$row_rs_ville['ville_etab'].'</option>';
} else {
echo '<option value="'.$row_rs_ville['ville_etab'].'">'.$row_rs_ville['ville_etab'].'</option>';
}
} while ($row_rs_ville = mysql_fetch_assoc($rs_ville));
?>
</select></td>
<td class="etoile" width="380px" valign="top">Tri par étoiles
<!--<form id="frm_etoile" name="frm_etoile" method="GET" action="annuaire-campingtest.php">-->
<select name="etoile" id="etoile" onchange="submit()">
<?php
if ($_GET['etoile'] == 'toutes') {
echo '<option value="toutes" selected="selected">Toutes les étoiles</option>';
} else {
echo '<option value="toutes">Toutes les étoiles</option>';
}
do {
if ($_GET['etoile'] == $row_rs_etoile['nb_etoile_camping']) {
echo '<option value="'.$row_rs_etoile['nb_etoile_camping'].'" selected="selected">'.$row_rs_etoile['nb_etoile_camping'].'</option>';
} else {
echo '<option value="'.$row_rs_etoile['nb_etoile_camping'].'">'.$row_rs_etoile['nb_etoile_camping'].'</option>';
}
} while ($row_rs_etoile = mysql_fetch_assoc($rs_etoile));
?>
</select>
</td></form>
<td valign="top"><?php
echo pagination($total_pages,$page_courante);
?></td>
</tr>
</table>
</div>
</div>
</body>
</html>
<?php
mysql_free_result($rs_ville);
mysql_free_result($rs_etoile);
?>
[/php]