FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Galére avec 3 listes menus, Merci à Martien et KangOL
 

Galére avec 3 listes menus, Merci à Martien et KangOL

Il y a 306 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici

 Mot :   Pseudo :  
 
Bas de page
Auteur
 Sujet : Galére avec 3 listes menus, Merci à Martien et KangOL
 
Plus d'informations

Merci Martien et KangOl, désolé je n'avais pas compris le systéme  de CC++ je recommence mon exposé en y incluant mes deux pages mais cette fois-ci  en suivant vos conseils.
 
PS:Martien si c'est ta véritable photo permet moi de te dire que tu es très jolie :love: ,pour KangOl faut aimer les chats :) bon revenons à ce qui me prend la tête.
 
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. Encore MILLE MERCIS ;) .
 
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:  
 
 

Code :
  1. 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
  2. FROM hebergement   
  3. LEFT JOIN typehebergement ON hebergement.id_typehebergement = typehebergement.id_typehebergement 
  4. LEFT JOIN actisportive ON  hebergement.id_actisportive = actisportive.id_actisportive 
  5. LEFT JOIN lieuculturel ON hebergement.id_lieuculturel = lieuculturel.id_lieuculturel
  6. 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:  
 

Code :
  1. CREATE TABLE `actisportive` (
  2.   `id_actisportive` int(6) NOT NULL auto_increment,
  3.   `nom_actisportive` varchar(250) NOT NULL default '',
  4.   PRIMARY KEY  (`id_actisportive`)
  5. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
  6. CREATE TABLE `hebergement` (
  7.   `id_hebergement` int(6) NOT NULL auto_increment,
  8.   `nom_hebergement` varchar(250) NOT NULL default '',
  9.   `description_hebergement` text NOT NULL,
  10.   `prix_hebergement` decimal(5,0) NOT NULL default '0',
  11.   `id_typehebergement` int(11) NOT NULL default '0',
  12.   `id_actisportive` int(11) NOT NULL default '0',
  13.   `id_lieuculturel` int(11) NOT NULL default '0',
  14.   PRIMARY KEY  (`id_hebergement`)
  15. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=6 ;
  16. CREATE TABLE `lieuculturel` (
  17.   `id_lieuculturel` int(6) NOT NULL auto_increment,
  18.   `nom_lieuculturel` varchar(250) NOT NULL default '',
  19.   PRIMARY KEY  (`id_lieuculturel`)
  20. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;
  21. CREATE TABLE `typehebergement` (
  22.   `id_typehebergement` int(6) NOT NULL auto_increment,
  23.   `nom_typehebergement` varchar(250) NOT NULL default '',
  24.   PRIMARY KEY  (`id_typehebergement`)
  25. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=5 ;


 
 
Code page recherche.php incluant mes 3 listes menus
 

Code :
  1. <?php require_once('Connections/essai.php'); ?>
  2. <?php
  3. mysql_select_db($database_essai, $essai);
  4. $query_RsTypeHebergement = "SELECT * FROM typehebergement";
  5. $RsTypeHebergement = mysql_query($query_RsTypeHebergement, $essai) or die(mysql_error());
  6. $row_RsTypeHebergement = mysql_fetch_assoc($RsTypeHebergement);
  7. $totalRows_RsTypeHebergement = mysql_num_rows($RsTypeHebergement);
  8. mysql_select_db($database_essai, $essai);
  9. $query_RsActiSportive = "SELECT * FROM actisportive";
  10. $RsActiSportive = mysql_query($query_RsActiSportive, $essai) or die(mysql_error());
  11. $row_RsActiSportive = mysql_fetch_assoc($RsActiSportive);
  12. $totalRows_RsActiSportive = mysql_num_rows($RsActiSportive);
  13. mysql_select_db($database_essai, $essai);
  14. $query_RsLieuCulturel = "SELECT * FROM lieuculturel";
  15. $RsLieuCulturel = mysql_query($query_RsLieuCulturel, $essai) or die(mysql_error());
  16. $row_RsLieuCulturel = mysql_fetch_assoc($RsLieuCulturel);
  17. $totalRows_RsLieuCulturel = mysql_num_rows($RsLieuCulturel);
  18. ?>
  19. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  20. <html>
  21. <head>
  22. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  23. <title>Document sans titre</title>
  24. </head>
  25. <body>
  26. <form name="form1" method="post" action="resultat.php">
  27.   <table width="50%"  border="1">
  28.     <tr>
  29.       <td width="37%">Types d'H&eacute;bergement </td>
  30.       <td width="63%"><select name="hebergement" id="hebergement">
  31.         <option value="resultat.php">Tout les Hébergements</option>
  32.         <option value="">---------------------------------</option>
  33.         <?php
  34. do
  35. ?>
  36.         <option value="<?php echo $row_RsTypeHebergement['id_typehebergement']?>"><?php echo $row_RsTypeHebergement['nom_typehebergement']?></option>
  37.         <?php
  38. } while ($row_RsTypeHebergement = mysql_fetch_assoc($RsTypeHebergement));
  39.   $rows = mysql_num_rows($RsTypeHebergement);
  40.   if($rows > 0) {
  41.       mysql_data_seek($RsTypeHebergement, 0);
  42.    $row_RsTypeHebergement = mysql_fetch_assoc($RsTypeHebergement);
  43.   }
  44. ?>
  45.       </select></td>
  46.     </tr>
  47.     <tr>
  48.       <td>Proche Activit&eacute; sportive </td>
  49.       <td><select name="actisportive" id="actisportive">
  50.         <option value="0">Indifférent</option>
  51.         <option value="">---------------------------------</option>
  52.         <?php
  53. do
  54. ?>
  55.         <option value="<?php echo $row_RsActiSportive['id_actisportive']?>"><?php echo $row_RsActiSportive['nom_actisportive']?></option>
  56.           <?php
  57. } while ($row_RsActiSportive = mysql_fetch_assoc($RsActiSportive));
  58.   $rows = mysql_num_rows($RsActiSportive);
  59.   if($rows > 0) {
  60.       mysql_data_seek($RsActiSportive, 0);
  61.    $row_RsActiSportive = mysql_fetch_assoc($RsActiSportive);
  62.   }
  63. ?>
  64.       </select></td>
  65.     </tr>
  66.     <tr>
  67.       <td>Proche Lieu Culturel </td>
  68.       <td><select name="lieuculturel" id="lieuculturel">
  69.         <option value="0">Indifférent</option>
  70.         <option value="">---------------------------------</option>
  71.         <?php
  72. do
  73. ?>
  74.         <option value="<?php echo $row_RsLieuCulturel['id_lieuculturel']?>"><?php echo $row_RsLieuCulturel['nom_lieuculturel']?></option>
  75.           <?php
  76. } while ($row_RsLieuCulturel = mysql_fetch_assoc($RsLieuCulturel));
  77.   $rows = mysql_num_rows($RsLieuCulturel);
  78.   if($rows > 0) {
  79.       mysql_data_seek($RsLieuCulturel, 0);
  80.    $row_RsLieuCulturel = mysql_fetch_assoc($RsLieuCulturel);
  81.   }
  82. ?>
  83.       </select></td>
  84.     </tr>
  85.     <tr>
  86.       <td colspan="2"><div align="center">
  87.         <input type="submit" name="Submit" value="Envoyer">
  88.       </div></td>
  89.     </tr>
  90.   </table>
  91. </form>
  92. </body>
  93. </html>
  94. <?php
  95. mysql_free_result($RsTypeHebergement);
  96. mysql_free_result($RsActiSportive);
  97. mysql_free_result($RsLieuCulturel);
  98. ?>


 
2°Et voici le code de ma page résultat.php
 

Code :
  1. <?php require_once('Connections/essai.php'); ?>
  2. <?php
  3. $maxRows_Recordset1 = 10;
  4. $pageNum_Recordset1 = 0;
  5. if (isset($_GET['pageNum_Recordset1'])) {
  6.   $pageNum_Recordset1 = $_GET['pageNum_Recordset1'];
  7. }
  8. $startRow_Recordset1 = $pageNum_Recordset1 * $maxRows_Recordset1;
  9. $varheberg_Recordset1 = "-1";
  10. if (isset($_POST['hebergement'])) {
  11.   $varheberg_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['hebergement'] : addslashes($_POST['hebergement']);
  12. }
  13. $varactisportive_Recordset1 = "-1";
  14. if (isset($_POST['actisportive'])) {
  15.   $varactisportive_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['actisportive'] : addslashes($_POST['actisportive']);
  16. }
  17. $varlieuculturel_Recordset1 = "-1";
  18. if (isset($_POST['lieuculturel'])) {
  19.   $varlieuculturel_Recordset1 = (get_magic_quotes_gpc()) ? $_POST['lieuculturel'] : addslashes($_POST['lieuculturel']);
  20. }
  21. mysql_select_db($database_essai, $essai);
  22. $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);
  23. $query_limit_Recordset1 = sprintf("%s LIMIT %d, %d", $query_Recordset1, $startRow_Recordset1, $maxRows_Recordset1);
  24. $Recordset1 = mysql_query($query_limit_Recordset1, $essai) or die(mysql_error());
  25. $row_Recordset1 = mysql_fetch_assoc($Recordset1);
  26. if (isset($_GET['totalRows_Recordset1'])) {
  27.   $totalRows_Recordset1 = $_GET['totalRows_Recordset1'];
  28. } else {
  29.   $all_Recordset1 = mysql_query($query_Recordset1);
  30.   $totalRows_Recordset1 = mysql_num_rows($all_Recordset1);
  31. }
  32. $totalPages_Recordset1 = ceil($totalRows_Recordset1/$maxRows_Recordset1)-1;
  33. ?>
  34. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">  
  35. <html>
  36. <head>
  37. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
  38. <title>Document sans titre</title>
  39. </head>
  40. <body>
  41. <table border="1" cellpadding="3">
  42.   <tr>
  43.     <td>nom_hebergement</td>
  44.     <td>description_hebergement</td>
  45.     <td>prix_hebergement</td>
  46.   </tr>
  47.   <?php do { ?>
  48.   <tr>
  49.     <td><?php echo $row_Recordset1['nom_hebergement']; ?></td>
  50.     <td><?php echo $row_Recordset1['description_hebergement']; ?></td>
  51.     <td><?php echo $row_Recordset1['prix_hebergement']; ?></td>
  52.   </tr>
  53.   <?php } while ($row_Recordset1 = mysql_fetch_assoc($Recordset1)); ?>
  54. </table>
  55. </body>
  56. </html>
  57. <?php
  58. mysql_free_result($Recordset1);
  59. ?>


Profil : Pointeur
Plus d'informations

pas la peine de faire un nouveau sujet !
edite le premier :o


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

Aller à :
  FORUM Tom's Hardware » Programmation » PHP & MySQL & ASP » Galére avec 3 listes menus, Merci à Martien et KangOL
 

Annonces Google
Publicité
Les téléchargements