Récupérer les résultats selon les checkboxes cochés
deep_sea
Messages postés
215
Statut
Membre
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour ,
je n'arrive pas a récuperer les résultats qu'il faut
si je coche 1 checkbox -> il ya un résultat
lorsque je coche plusieurs l'erreur dans lla capture s'affiche
lorsque je saisi les autres champs il ya un résultat
si je combine les checkbox et les input
méme erreur s'affiche
est ce que vous pouvez m'aider ?
Merci
je n'arrive pas a récuperer les résultats qu'il faut
si je coche 1 checkbox -> il ya un résultat
lorsque je coche plusieurs l'erreur dans lla capture s'affiche
lorsque je saisi les autres champs il ya un résultat
si je combine les checkbox et les input
méme erreur s'affiche
est ce que vous pouvez m'aider ?
Merci
<?php
//activation de l'affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display-errors','on');
//------------------------------------------------------------//
// le temps des tests
//------------------------------------------------------------//
//------------------------------------------------------------//
//récupération PROPRE des variables AVANT de les utiliser
//------------------------------------------------------------//
$salle = !empty($_POST['titre']) ? $_POST['titre']: NULL;
$etoile = !empty($_POST['number_etoile']) ? $_POST['number_etoile']: 0;
$event = !empty($_POST['event']) ? $_POST['event']: NULL;
$place = !empty($_POST['place_salle']) ? $_POST['place_salle']: 0;
$prix_min = !empty($_POST['prix_min']) ? $_POST['prix_min']: 0;
$prix_max = !empty($_POST['prix_max']) ? $_POST['prix_max']: 0;
$wilaya = !empty($_POST['choix']) ? $_POST['choix']: NULL;
$option_salle = isset($_POST['option_salle']) ? $_POST['option_salle'] : null;
//------------------------------------------------------------//
// Traitement du SUBMIT
//------------------------------------------------------------//
$strsalle = !empty($salle) ? " OR nom_salle = '$salle' " : "";
$stretoile = !empty($etoile) ? " OR nbre_etoile ='$etoile' " : "";
$strplace = !empty($place) ? " OR nbre_place = '$place' " : "";
$strevenet = !empty($event) ? " OR event like '$event%' " : "";
$strwilaya = !empty($wilaya) ? " OR designation_wilaya like '$wilaya' " : "";
$message='';
if( isset($_POST['submit'])) {
$value = implode(',', (array) $option_salle);
$requete = "
SELECT DISTINCT *
FROM annonce A JOIN wilaya W
ON A.`code_wilaya` = W.`code_wilaya`
WHERE `Etat_annonce`='1'
AND
(FALSE
$strsalle
$stretoile
$strplace
$strevenet
$strwilaya
OR
(`prix_salle`>='$prix_min' and `prix_salle`<='$prix_max')
OR
$value
)
";
$resultat = $conn->query($requete);
if (!$resultat) {
printf("Message d'erreur : %s\n", mysqli_error($conn));
}
if(mysqli_num_rows($resultat)>0) {
while ($row = mysqli_fetch_assoc($resultat)) {
{
{
echo '<div class="work span4">
<img src="imagesbd/'. $row["gallerie"] . '" alt="salle" />
<h4>'.$row['nom_salle'].'</h4>
<h4>'.$row['prix_salle'].',00 DZ </h4>
<h5> '.$row['event'] .' </h5>
<p>'.$row['adresse_salle'].' ,'.$row['designation_wilaya'] .' </p>
<p> +(213) 0'.$row['tel_fixe'].' / '.$row['tel_mobile'] .'<p/>
<div class="icon-awesome">
<a href="imagesbd/'. $row[" rel="nofollow noopener noreferrer" target="_blank"gallerie"] . '"><i class="icon-search"></i></a>
<a href="afficher_salle_rechercher.php?variable='.$row['id_pub'].'" rel="nofollow noopener noreferrer" target="_blank" "><i class="icon-list-alt"></i></a>
</div>
</div>';
}
}
}
} else {
$message= '<div class="alert alert-info">
<strong>Info!</strong> Aucune résultat a été retourné.
</div>';
}
}
else {
$message='<div class="alert alert-danger">
<strong>Erreur!</strong> php .
</div>';
}
?>
[https://img-19.ccm2.net/UYZ_KyNLH4qbRRW7CUZvga1c-1E=/fc7be2ef9e1c42b7ad832a859d6b6f8f/ccm-ugc/Capture.PNG [image:https://img-19.ccm2.net/UYZ_KyNLH4qbRRW7CUZvga1c-1E=/fc7be2ef9e1c42b7ad832a859d6b6f8f/ccm-ugc/Capture.PNG|440px||center]|fancy]
2 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour, je suggère:$value = implode(' OR ', (array) $option_salle);
si cela ne fonctionne pas, peux-tu:
- ajouterecho $requete; print_r ($_POST);
avant$resultat = ...
- copier le texte affiché dans le navigateur, et le coller dans le forum, en plus de partager l'image.
-
avec le OR ne fonctionne pas
je n'arrive pas a afficher la capture
voici le code affichéSELECT DISTINCT * FROM annonce A JOIN wilaya W ON A.`code_wilaya` = W.`code_wilaya` WHERE `Etat_annonce`='1' AND (FALSE OR designation_wilaya like 'Choisir' OR (`prix_salle`>='0' and `prix_salle`<='0') OR dinerORcamera ) Array ( [titre] => [choix] => Choisir [number_etoile] => [event] => [place_salle] => [prix_min] => [prix_max] => [option_salle] => Array ( [0] => diner [1] => camera ) [submit] => Filtrer ) Message d'erreur : Unknown column 'dinerORcamera' in 'where clause' Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\Afrahcom\services.php on line 413
-
-
oui bien sure
<?php //activation de l'affichage des erreurs PHP error_reporting(E_ALL); ini_set('display-errors','on'); //------------------------------------------------------------// // le temps des tests //------------------------------------------------------------// //------------------------------------------------------------// //récupération PROPRE des variables AVANT de les utiliser //------------------------------------------------------------// $salle = !empty($_POST['titre']) ? $_POST['titre']: NULL; $etoile = !empty($_POST['number_etoile']) ? $_POST['number_etoile']: 0; $event = !empty($_POST['event']) ? $_POST['event']: NULL; $place = !empty($_POST['place_salle']) ? $_POST['place_salle']: 0; $prix_min = !empty($_POST['prix_min']) ? $_POST['prix_min']: 0; $prix_max = !empty($_POST['prix_max']) ? $_POST['prix_max']: 0; $wilaya = !empty($_POST['choix']) ? $_POST['choix']: NULL; $option_salle = isset($_POST['option_salle']) ? $_POST['option_salle'] : null; //------------------------------------------------------------// // Traitement du SUBMIT //------------------------------------------------------------// $strsalle = !empty($salle) ? " OR nom_salle = '$salle' " : ""; $stretoile = !empty($etoile) ? " OR nbre_etoile ='$etoile' " : ""; $strplace = !empty($place) ? " OR nbre_place = '$place' " : ""; $strevenet = !empty($event) ? " OR event like '$event%' " : ""; $strwilaya = !empty($wilaya) ? " OR designation_wilaya like '$wilaya' " : ""; $message=''; if( isset($_POST['submit'])) { $value = implode('OR', (array) $option_salle); $requete = " SELECT DISTINCT * FROM annonce A JOIN wilaya W ON A.`code_wilaya` = W.`code_wilaya` WHERE `Etat_annonce`='1' AND (FALSE $strsalle $stretoile $strplace $strevenet $strwilaya OR (`prix_salle`>='$prix_min' and `prix_salle`<='$prix_max') OR $value ) "; echo $requete; print_r ($_POST); $resultat = $conn->query($requete); if (!$resultat) { printf("Message d'erreur : %s\n", mysqli_error($conn)); } if(mysqli_num_rows($resultat)>0) { while ($row = mysqli_fetch_assoc($resultat)) { { { echo '<div class="work span4"> <img src="imagesbd/'. $row["gallerie"] . '" alt="salle" /> <h4>'.$row['nom_salle'].'</h4> <h4>'.$row['prix_salle'].',00 DZ </h4> <h5> '.$row['event'] .' </h5> <p>'.$row['adresse_salle'].' ,'.$row['designation_wilaya'] .' </p> <p> +(213) 0'.$row['tel_fixe'].' / '.$row['tel_mobile'] .'<p/> <div class="icon-awesome"> <a href="imagesbd/'. $row[" rel="nofollow noopener noreferrer" target="_blank"gallerie"] . '"><i class="icon-search"></i></a> <a href="afficher_salle_rechercher.php?variable='.$row['id_pub'].'" rel="nofollow noopener noreferrer" target="_blank" "><i class="icon-list-alt"></i></a> </div> </div>'; } } } } else { $message= '<div class="alert alert-info"> <strong>Info!</strong> Aucune résultat a été retourné. </div>'; } } else { $message='<div class="alert alert-danger"> <strong>Erreur!</strong> php . </div>'; } ?> <?php if(isset($_POST['submit'])) echo $message; ?> -
-
-
-
-
il me semble que tu n'as toujours pas fait précisément ce que j'ai suggéré en #1.
-