Recherche plusieurs champs

FEDELY -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour à tous,

J'espère que vous allez bien.
Je rencontre un problème avec mon code :

Je souhaite faire une recherche avec plusieurs critères :
-Je veux rechercher les chambres d'une '''VILLE'' qui ont la formule '''SINGLE'' et qui sont '''LIBRE'' entre 2 dates.
Voici mes différents champs de recherche :
DESTINATION ---FORMULE-----ARRIVEE-----DEPART
Voici mon code :
 <form action="">
						    <div class="form-row">
                              <div class="form-group col-md-6">
                                <select id="inputState" class="form-control" name="ville">
								  <option></option>
                          <?php while ($fa=mysqli_fetch_array($resultat))  {   ?>
						   
                              
<option value="<?php echo $fa['idhot'] ?>"><?php echo $fa['ville'] ?></option>

						  <?php }?>

						
								
                                </select>
                              </div>
							  		<?php
 
 
//recherche des résultats dans la base de données
//$  = '';
//$idSiteProvider = '';
//$siteName       = '';
//$adresseIp      = '';
//$service        = '';
$destination       = '';
$formule      = '';
 
if (isset($_POST['recherche'])) {
   $where = array();
 
   if (isset($_POST['destination']) && strlen($destination = trim($_POST['destination']))) {
      $where[] = "destination LIKE '%".mysql_real_escape_string($destination)."%'";
   }
 
   if (isset($_POST['formule ']) && strlen($formule  = trim($_POST['formule ']))) {
      $where[] = "formule  LIKE '%".mysql_real_escape_string($formule )."%'";
   }
 
  // if (isset($_POST['site_name']) && strlen($siteName = trim($_POST['site_name']))) {
   //   $where[] = "site_name LIKE '%".mysql_real_escape_string($siteName)."%'";
  // }
 
  // if (isset($_POST['adresseIP']) && strlen($adresseIp = trim($_POST['adresseIP']))) {
    //  $where[]= "adresseIP LIKE '%".mysql_real_escape_string($adresseIp)."%'";
  // }
 
   //if (isset($_POST['service']) && strlen($service = trim($_POST['service']))) {
     // $where[] = "service LIKE '%".mysql_real_escape_string($service)."%'";
 //  }
 
   if (empty($where)):
      echo 'Vous devez remplir au moins un des champs de recherche !';
 
   else:
      $sql = "SELECT ville 
              FROM hotel
              WHERE ". implode(' AND ', $where) . "
              LIMIT 10";
 
      $result = mysql_query($sql) or die('Erreur SQL !'.$sql.'<br /><b>'.mysql_error().'</b>'); ?>
      <div class="article-result">
         <h4>Resultat de recherche</h4>
 
         <?php if (mysql_num_rows($result) === 0): ?>
         <h3 style="text-align:center; margin:10px 0;">Pas de résultats pour cette recherche</h3>
 
         <?php else: ?>
         <table>
            <thead>
               <tr>
                  <th class="td_seach_titre">Ville</th>
                
               </tr>
            </thead>
            <tbody>
               <?php while($row = mysql_fetch_assoc($result)): ?>
               <tr>
                  <td class="id"><?php echo $row['ville']; ?></td>

               </tr>
               <?php endwhile; ?>
            </tbody>
         </table>
         <?php endif; ?>
      </div>
   <?php endif; ?>
<?php 
} 
?>
                              <div class="form-group col-md-6">
                                <select id="inputState" class="form-control">
								 <option></option>
                                 <?php while ($fa1=mysqli_fetch_array($resultat1))  {   ?>
								<option value="<?php echo $fa1['idform'] ?>"><?php echo $fa1['nomform'] ?></option>

						  <?php }?>
                                </select>
                              </div>
                            </div>
					
                        
                         
                     
                       
                        </div>
						   <div class="col-sm-8 col-md-4">
                          <strong class="text-muted d-block mb-2"></strong>
                     
						    <div class="form-row">
                               <div id="blog-overview-date-range" class="input-daterange input-group input-group-sm my-auto ml-auto mr-auto ml-sm-auto mr-sm-0" style="max-width: 350px;">
                        <input type="text" class="input-sm form-control" name="start" placeholder="Arrivée" id="blog-overview-date-range-1">
                     <input type="text" class="input-sm form-control" name="end" placeholder="Départ" id="blog-overview-date-range-2">
                       
                        </div>
                            </div>
				
                         
                       
                
                        </div>
                       
							
                          	<input type="submit" name="recherche" class="btn btn-primary" VALUE="Vérfier la disponibilité">
                      </div>
					            </form>



Et cela ne me donne rien.

Merci d'avance

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Déjà... attention...
Tu mélages du vieux mysql et du mysqli
mysql_query...

mysqli_fetch_array...



Ensuite.... as tu fais des echo de tes variables ? de ta requête ? As tu testé ta requête DIRECTEMENT dans ta bdd ?

Au passage, je t'invite fortement à lire ceci : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code


0