Galére avec 3 listes menus!!!
Dernière réponse : dans Programmation
Bonjour et merci de lire ce message, voici mon probléme, j'ai 3 listes menus la 1° Hébergement, 2°Activité Sportive et la 3° Lieu Culturel ces trois listes font parti d'un base de donnée et j'ai réussi à récupérer pour chacune d'entre elle leurs valeurs -via la BDD- Mes listes affichent les données de la base.
Ma liste menu "Hébergement" commence par <option value="resultat.php">Tout les Hébergements</option>.
Les deux autres commence comme ceci: <option value="">Indifférent</option>.
Comment puis afficher dans un premier temps Tout les Hébergements?? en laissant sur indifférent les deux autres.
Et comment afficher , par exemple, un type d'hébergement couplé soit par un type d'activité sportive soit par un Lieu Culturel???
Ou alors afficher un type d'hébergement couplé avec une Activité Sportive ou un Lieu Culturel.
Par contre j'arrive à afficher
un type d'hébergement couplé avec une activité sportive et couplé par lieu culturel mais je suis obligé de sélectionner dans chacune de mes listes menus une valeur!!! sinon si je laisse la 2° ou la 3° sur Indifférent j'ai un message d'erreur.
Mille mercis de m'aider, ah!! au fait je débute en PHP j'ai lu quelques ouvrages, quelques sites "Siteduzero, phpdebutant etc....mais là je galére un peu.
En bref voici ce que je souhaite réaliser:
http://www.chateauxhotels.com/public/recherche/index.ph...
Voici mon code SQL de ma page resultat.php:
SELECT hebergement.id_hebergement, hebergement.nom_hebergement, hebergement.description_hebergement, hebergement.prix_hebergement, hebergement.id_typehebergement, hebergement.id_actisportive, hebergement.id_lieuculturel, typehebergement.id_typehebergement, actisportive.id_actisportive, lieuculturel.id_lieuculturel
FROM hebergement
LEFT JOIN typehebergement ON hebergement.id_typehebergement = typehebergement.id_typehebergement
LEFT JOIN actisportive ON hebergement.id_actisportive = actisportive.id_actisportive
LEFT JOIN lieuculturel ON hebergement.id_lieuculturel = lieuculturel.id_lieuculturel
WHERE hebergement.id_typehebergement = varheberg and hebergement.id_typehebergement = typehebergement.id_typehebergement and hebergement.id_actisportive = varactisportive AND hebergement.id_actisportive = actisportive.id_actisportive and hebergement.id_lieuculturel = varlieuculturel AND hebergement.id_lieuculturel = lieuculturel.id_lieuculturel
Ci joint la fameuse base qui va me servir de modéle pour mes futures listes menus:
CREATE TABLE `actisportive` (
`id_actisportive` int(6) NOT NULL auto_increment,
`nom_actisportive` varchar(250) NOT NULL default '',
PRIMARY KEY (`id_actisportive`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
CREATE TABLE `hebergement` (
`id_hebergement` int(6) NOT NULL auto_increment,
`nom_hebergement` varchar(250) NOT NULL default '',
`description_hebergement` text NOT NULL,
`prix_hebergement` decimal(5,0) NOT NULL default '0',
`id_typehebergement` int(11) NOT NULL default '0',
`id_actisportive` int(11) NOT NULL default '0',
`id_lieuculturel` int(11) NOT NULL default '0',
PRIMARY KEY (`id_hebergement`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
CREATE TABLE `lieuculturel` (
`id_lieuculturel` int(6) NOT NULL auto_increment,
`nom_lieuculturel` varchar(250) NOT NULL default '',
PRIMARY KEY (`id_lieuculturel`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
CREATE TABLE `typehebergement` (
`id_typehebergement` int(6) NOT NULL auto_increment,
`nom_typehebergement` varchar(250) NOT NULL default '',
PRIMARY KEY (`id_typehebergement`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
Ma liste menu "Hébergement" commence par <option value="resultat.php">Tout les Hébergements</option>.
Les deux autres commence comme ceci: <option value="">Indifférent</option>.
Comment puis afficher dans un premier temps Tout les Hébergements?? en laissant sur indifférent les deux autres.
Et comment afficher , par exemple, un type d'hébergement couplé soit par un type d'activité sportive soit par un Lieu Culturel???
Ou alors afficher un type d'hébergement couplé avec une Activité Sportive ou un Lieu Culturel.
Par contre j'arrive à afficher
un type d'hébergement couplé avec une activité sportive et couplé par lieu culturel mais je suis obligé de sélectionner dans chacune de mes listes menus une valeur!!! sinon si je laisse la 2° ou la 3° sur Indifférent j'ai un message d'erreur.Mille mercis de m'aider, ah!! au fait je débute en PHP j'ai lu quelques ouvrages, quelques sites "Siteduzero, phpdebutant etc....mais là je galére un peu.
En bref voici ce que je souhaite réaliser:
http://www.chateauxhotels.com/public/recherche/index.ph...
Voici mon code SQL de ma page resultat.php:
SELECT hebergement.id_hebergement, hebergement.nom_hebergement, hebergement.description_hebergement, hebergement.prix_hebergement, hebergement.id_typehebergement, hebergement.id_actisportive, hebergement.id_lieuculturel, typehebergement.id_typehebergement, actisportive.id_actisportive, lieuculturel.id_lieuculturel
FROM hebergement
LEFT JOIN typehebergement ON hebergement.id_typehebergement = typehebergement.id_typehebergement
LEFT JOIN actisportive ON hebergement.id_actisportive = actisportive.id_actisportive
LEFT JOIN lieuculturel ON hebergement.id_lieuculturel = lieuculturel.id_lieuculturel
WHERE hebergement.id_typehebergement = varheberg and hebergement.id_typehebergement = typehebergement.id_typehebergement and hebergement.id_actisportive = varactisportive AND hebergement.id_actisportive = actisportive.id_actisportive and hebergement.id_lieuculturel = varlieuculturel AND hebergement.id_lieuculturel = lieuculturel.id_lieuculturel
Ci joint la fameuse base qui va me servir de modéle pour mes futures listes menus:
CREATE TABLE `actisportive` (
`id_actisportive` int(6) NOT NULL auto_increment,
`nom_actisportive` varchar(250) NOT NULL default '',
PRIMARY KEY (`id_actisportive`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
CREATE TABLE `hebergement` (
`id_hebergement` int(6) NOT NULL auto_increment,
`nom_hebergement` varchar(250) NOT NULL default '',
`description_hebergement` text NOT NULL,
`prix_hebergement` decimal(5,0) NOT NULL default '0',
`id_typehebergement` int(11) NOT NULL default '0',
`id_actisportive` int(11) NOT NULL default '0',
`id_lieuculturel` int(11) NOT NULL default '0',
PRIMARY KEY (`id_hebergement`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
CREATE TABLE `lieuculturel` (
`id_lieuculturel` int(6) NOT NULL auto_increment,
`nom_lieuculturel` varchar(250) NOT NULL default '',
PRIMARY KEY (`id_lieuculturel`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
CREATE TABLE `typehebergement` (
`id_typehebergement` int(6) NOT NULL auto_increment,
`nom_typehebergement` varchar(250) NOT NULL default '',
PRIMARY KEY (`id_typehebergement`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
Autres pages sur : galere listes menus
Lassé par la pub ? Créez un compte
Citation :
balise [code]
Merci KangOl de me répondre voici mes deux codes.
1° Code page recherche.php incluant mes 3 listes menus
<?php require_once('Connections/essai.php'); ?>
<?php
mysql_select_db($database_essai, $essai);
$query_RsTypeHebergement = "SELECT * FROM typehebergement";
$RsTypeHebergement = mysql_query($query_RsTypeHebergement, $essai) or die(mysql_error());
$row_RsTypeHebergement = mysql_fetch_assoc($RsTypeHebergement);
$totalRows_RsTypeHebergement = mysql_num_rows($RsTypeHebergement);
mysql_select_db($database_essai, $essai);
$query_RsActiSportive = "SELECT * FROM actisportive";
$RsActiSportive = mysql_query($query_RsActiSportive, $essai) or die(mysql_error());
$row_RsActiSportive = mysql_fetch_assoc($RsActiSportive);
$totalRows_RsActiSportive = mysql_num_rows($RsActiSportive);
mysql_select_db($database_essai, $essai);
$query_RsLieuCulturel = "SELECT * FROM lieuculturel";
$RsLieuCulturel = mysql_query($query_RsLieuCulturel, $essai) or die(mysql_error());
$row_RsLieuCulturel = mysql_fetch_assoc($RsLieuCulturel);
$totalRows_RsLieuCulturel = mysql_num_rows($RsLieuCulturel);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>
<body>
<form name="form1" method="post" action="resultat.php">
<table width="50%" border="1">
<tr>
<td width="37%">Types d'Hébergement </td>
<td width="63%"><select name="hebergement" id="hebergement">
<option value="resultat.php">Tout les Hébergements</option>
<option value="">---------------------------------</option>
<?php
do {
?>
<option value="<?php echo $row_RsTypeHebergement['id_typehebergement']?>"><?php echo $row_RsTypeHebergement['nom_typehebergement']?></option>
<?php
} while ($row_RsTypeHebergement = mysql_fetch_assoc($RsTypeHebergement));
$rows = mysql_num_rows($RsTypeHebergement);
if($rows > 0) {
mysql_data_seek($RsTypeHebergement, 0);
$row_RsTypeHebergement = mysql_fetch_assoc($RsTypeHebergement);
}
?>
</select></td>
</tr>
<tr>
<td>Proche Activité sportive </td>
<td><select name="actisportive" id="actisportive">
<option value="0">Indifférent</option>
<option value="">---------------------------------</option>
<?php
do {
?>
<option value="<?php echo $row_RsActiSportive['id_actisportive']?>"><?php echo $row_RsActiSportive['nom_actisportive']?></option>
<?php
} while ($row_RsActiSportive = mysql_fetch_assoc($RsActiSportive));
$rows = mysql_num_rows($RsActiSportive);
if($rows > 0) {
mysql_data_seek($RsActiSportive, 0);
$row_RsActiSportive = mysql_fetch_assoc($RsActiSportive);
}
?>
</select></td>
</tr>
<tr>
<td>Proche Lieu Culturel </td>
<td><select name="lieuculturel" id="lieuculturel">
<option value="0">Indifférent</option>
<option value="">---------------------------------</option>
<?php
do {
?>
<option value="<?php echo $row_RsLieuCulturel['id_lieuculturel']?>"><?php echo $row_RsLieuCulturel['nom_lieuculturel']?></option>
<?php
} while ($row_RsLieuCulturel = mysql_fetch_assoc($RsLieuCulturel));
$rows = mysql_num_rows($RsLieuCulturel);
if($rows > 0) {
mysql_data_seek($RsLieuCulturel, 0);
$row_RsLieuCulturel = mysql_fetch_assoc($RsLieuCulturel);
}
?>
</select></td>
</tr>
<tr>
<td colspan="2"><div align="center">
<input type="submit" name="Submit" value="Envoyer">
</div></td>
</tr>
</table>
</form>
</body>
</html>
<?php
mysql_free_result($RsTypeHebergement);
mysql_free_result($RsActiSportive);
mysql_free_result($RsLieuCulturel);
?>
Et voici le code de ma page résultat.php
<?php require_once('Connections/essai.php'); ?>
<?php
$maxRows_Recordset1 = 10;
$pageNum_Recordset1 = 0;
if (isset($_GET['pageNum_Recordset1'])) {
$pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
}
$startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;
$varheberg_Recordset1 = "-1";
if (isset($_POST['hebergement'])) {
$varheberg_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['hebergement'] : addslashes($_POST['hebergement']);
}
$varactisportive_Recordset1 = "-1";
if (isset($_POST['actisportive'])) {
$varactisportive_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['actisportive'] : addslashes($_POST['actisportive']);
}
$varlieuculturel_Recordset1 = "-1";
if (isset($_POST['lieuculturel'])) {
$varlieuculturel_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['lieuculturel'] : addslashes($_POST['lieuculturel']);
}
mysql_select_db($database_essai, $essai);
$query_Recordset1 = sprintf("SELECT hebergement.id_hebergement, hebergement.nom_hebergement, hebergement.description_hebergement, hebergement.prix_hebergement, hebergement.id_typehebergement, hebergement.id_actisportive, hebergement.id_lieuculturel, typehebergement.id_typehebergement, actisportive.id_actisportive, lieuculturel.id_lieuculturel FROM hebergement LEFT JOIN typehebergement ON hebergement.id_typehebergement = typehebergement.id_typehebergement LEFT JOIN actisportive ON hebergement.id_actisportive = actisportive.id_actisportive LEFT JOIN lieuculturel ON hebergement.id_lieuculturel = lieuculturel.id_lieuculturel WHERE hebergement.id_typehebergement = %s and hebergement.id_typehebergement = typehebergement.id_typehebergement and hebergement.id_actisportive = %s AND hebergement.id_actisportive = actisportive.id_actisportive and hebergement.id_lieuculturel = %s AND hebergement.id_lieuculturel = lieuculturel.id_lieuculturel ", $varheberg_Recordset1,$varactisportive_Recordset1,$varlieuculturel_Recordset1);
$query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
$Recordset1 = mysql_query($query_limit_Recordset1, $essai) or die(mysql_error());
$row_Recordset1 = mysql_fetch_assoc($Recordset1);
if (isset($_GET['totalRows_Recordset1'])) {
$totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
} else {
$all_Recordset1 = mysql_query($query_Recordset1);
$totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
}
$totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Document sans titre</title>
</head>
<body>
<table border="1" cellpadding="3">
<tr>
<td>nom_hebergement</td>
<td>description_hebergement</td>
<td>prix_hebergement</td>
</tr>
<?php do { ?>
<tr>
<td><?php echo $row_Recordset1['nom_hebergement']; ?></td>
<td><?php echo $row_Recordset1['description_hebergement']; ?></td>
<td><?php echo $row_Recordset1['prix_hebergement']; ?></td>
</tr>
<?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
</table>
</body>
</html>
<?php
mysql_free_result($Recordset1);
?>
Développement de la pensée de Kangol : utilise les balises de syntaxes disponibles au dessus de la zone de rédaction de messages. Parmi elles, il y en a une appelée C/C++ permettant de formatter les bouts de code afin de les rendre lisibles. Donc tu édites tes messages et tu utilises cette balise pour encadrer tes morceaux de code
Lassé par la pub ? Créez un compte
- Contenus similaires :
Tags :