FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Galére avec 3 listes menus!!!
 

Galére avec 3 listes menus!!!

Il y a 159 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici
Ajouter une réponse



 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Galére avec 3 listes menus!!!
 
Plus d'informations

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/publ [...] ?getpost=1
 
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 ;
 

Profil : Pointeur
Plus d'informations

balise [code] :o


---------------
Da Bidz Triad©®™: Bidz Interceptor
.:: Smileyz version 4.2 [050625]::. -- Code source disponible sous licence GPL.
[u
Plus d'informations

a écrit :

balise [code] :o


 
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&eacute;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&eacute; 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);
?>

Je me la pête
Profil : /!\ Docteur - PDG
Plus d'informations

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 ;)

Profil : Pointeur
Plus d'informations

Aller à :
Ajouter une réponse
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Galére avec 3 listes menus!!!
 

Annonces Google
Publicité
Les téléchargements