Php my sql
Résolu/Fermé
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
-
Modifié le 19 juin 2017 à 02:04
deep_sea Messages postés 201 Date d'inscription mardi 10 mai 2016 Statut Membre Dernière intervention 10 décembre 2022 - 28 juin 2017 à 14:48
deep_sea Messages postés 201 Date d'inscription mardi 10 mai 2016 Statut Membre Dernière intervention 10 décembre 2022 - 28 juin 2017 à 14:48
A voir également:
- Php my sql
- What is my movie français - Télécharger - Divers TV & Vidéo
- My pascal - Télécharger - Édition & Programmation
- Easy php - Télécharger - Divers Web & Internet
- My cam - Télécharger - Pilotes & Matériel
- My lockbox - Télécharger - Chiffrement
7 réponses
ThEBiShOp
Messages postés
8378
Date d'inscription
jeudi 22 mars 2007
Statut
Contributeur
Dernière intervention
8 février 2021
1 566
24 mai 2017 à 17:13
24 mai 2017 à 17:13
salut,
si tu entoures tes variables php dans ta requêtes de quotes (apostrophe), ça devrait aller mieux
si tu entoures tes variables php dans ta requêtes de quotes (apostrophe), ça devrait aller mieux
yg_be
Messages postés
23447
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 janvier 2025
Ambassadeur
1 562
Modifié le 18 juin 2017 à 13:16
Modifié le 18 juin 2017 à 13:16
bjr, peut-être en ajoutant
as-tu remarqué que $_POST['etoile'] est absent?
echo $requete;pour mieux comprendre?
as-tu remarqué que $_POST['etoile'] est absent?
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
19 juin 2017 à 02:10
19 juin 2017 à 02:10
Bonjour,
Dans ta requête :
il y a plusieurs soucis .....
Déjà : lorsqu'on utilise un LIKE c'est pour le faire avec des "jokers"
par exemple :
Actuellement... non seulement tu n'as pas '%' mais tu y as un espace en trop :
`nom_salle` LIKE '$salle '
</code>
Ensuite :
Tu m'expliques comment un prix peut être à la fois supérieur et inférieur en même temps ???
Cette ligne se traduirait (en l'état) de cette façon :
Et enfin... comme te l'ont dit les autres ... il faut mettre TOUTES tes variables entre QUOTES dans ta requête
Dans ta requête :
$requete = " SELECT * FROM annonce A ,wilaya W WHERE A.`code_wilaya` = W.`code_wilaya` AND `Etat_annonce`='1' and ( (`nom_salle` LIKE '$salle ' ) or (`prix_salle`>=$prix and `prix_salle`<=$prix) or (`nbre_etoile` =$etoile ) or (`nbre_place` =$place) or (`designation_wilaya` like '$wilaya') )
il y a plusieurs soucis .....
Déjà : lorsqu'on utilise un LIKE c'est pour le faire avec des "jokers"
par exemple :
// commence par $salle `nom_salle` LIKE '$salle%' // contient $salle `nom_salle` LIKE '$salle%' // se termine par $salle `nom_salle` LIKE '%$salle'
Actuellement... non seulement tu n'as pas '%' mais tu y as un espace en trop :
`nom_salle` LIKE '$salle '
</code>
Ensuite :
`prix_salle`>=$prix and `prix_salle`<=$prix
Tu m'expliques comment un prix peut être à la fois supérieur et inférieur en même temps ???
Cette ligne se traduirait (en l'état) de cette façon :
`prix_salle`=$prix
Et enfin... comme te l'ont dit les autres ... il faut mettre TOUTES tes variables entre QUOTES dans ta requête
(`prix_salle`>='$prix' OR `prix_salle`<='$prix') or (`nbre_etoile` ='$etoile' ) or (`nbre_place` ='$place')
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
19 juin 2017 à 02:14
19 juin 2017 à 02:14
Ah tiens... c'est bizarre .... une partie de mes remarques t'avais déjà été faites dans une de tes discussions précédente ... ici : https://forums.commentcamarche.net/forum/affich-34595582-my-sql#7
Il serait bien de tenir compte de nos remarque avant d'ouvrir des discussions en doublon !!!
PS: Merci de mettre la précédente question en RESOLU.
Il serait bien de tenir compte de nos remarque avant d'ouvrir des discussions en doublon !!!
PS: Merci de mettre la précédente question en RESOLU.
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
1
19 juin 2017 à 14:31
19 juin 2017 à 14:31
(`prix_salle`>='$prix_min' and `prix_salle`<='$prix_max') on utilise le Et car je veux que le prix saisi sera entre les 2 intervalle min et max
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
1
19 juin 2017 à 14:35
19 juin 2017 à 14:35
Le problème jusque j'essai champs par champs il fait le filtrage et les résultat s'affiche correctement mais lorsque je choisi plusieurs critère il ya un affichage de tous les enregistrements
if( isset($_POST['submit'])) {
$requete = "
SELECT *
FROM annonce A ,wilaya W
WHERE A.`code_wilaya` = W.`code_wilaya`
AND `Etat_annonce`='1'
and (
(`nom_salle` LIKE '$salle%' )
or
(`prix_salle`>='$prix_min' and `prix_salle`<='$prix_max')
or
(`event` LIKE '$event' )
or
(`nbre_etoile` = '$etoile')
or
(`nbre_place` ='$place')
or
(`designation_wilaya` like '$wilaya')
)
";
yg_be
Messages postés
23447
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 janvier 2025
1 562
19 juin 2017 à 19:58
19 juin 2017 à 19:58
deux choses:
1) peux-tu partager ce qu'affiche
2) es-tu certain de vouloir "or" dans ta requête? que souhaites-tu obtenir quand tu choisis plusieurs critères? ton programme sélectionne tous les enregistrements qui répondent à au moins un critère.
1) peux-tu partager ce qu'affiche
echo $requete;?
2) es-tu certain de vouloir "or" dans ta requête? que souhaites-tu obtenir quand tu choisis plusieurs critères? ton programme sélectionne tous les enregistrements qui répondent à au moins un critère.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
20 juin 2017 à 10:44
20 juin 2017 à 10:44
Mais....Eureka .. j'ai compris quel était ton souci ....
EN fait .. il faut construire ta requête en fonction des champs qui sont remplis ou non....
Par exemple :
Amuses toi à remplir ou non tes champs "salle" "nombre d'étoiles" et nombre de places ... puis regarde ce que donne le écho de ta requete...
Tu verras qu'en fonction des champs que tu auras remplis (ou non) la requête s'adaptera et t'affichera uniquement les résultats en fonction des critères voulus.
EN fait .. il faut construire ta requête en fonction des champs qui sont remplis ou non....
Par exemple :
$strsalle = !empty($salle) ? " AND nom_salle = '$salle' " : ""; $stretoile = !empty($etoile ) ? " AND nbre_etoile = '$etoile ' " : ""; $strplace = !empty($place) ? " AND nbre_place = '$place' " : ""; $requete = " SELECT * FROM annonce A ,wilaya W WHERE A.`code_wilaya` = W.`code_wilaya` AND `Etat_annonce`='1' $strsalle $stretoile $strplace "; echo $requete;
Amuses toi à remplir ou non tes champs "salle" "nombre d'étoiles" et nombre de places ... puis regarde ce que donne le écho de ta requete...
Tu verras qu'en fonction des champs que tu auras remplis (ou non) la requête s'adaptera et t'affichera uniquement les résultats en fonction des critères voulus.
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
1
Modifié le 20 juin 2017 à 13:49
Modifié le 20 juin 2017 à 13:49
elle ne retourne rien le ECHO
SELECT * FROM annonce A ,wilaya W WHERE A.`code_wilaya` = W.`code_wilaya` AND `Etat_annonce`='1'
je veux afficher les résultat selon les critères des users saisis et c'est pas une obligations que tous les champs doivent être remplis
SELECT * FROM annonce A ,wilaya W WHERE A.`code_wilaya` = W.`code_wilaya` AND `Etat_annonce`='1'
je veux afficher les résultat selon les critères des users saisis et c'est pas une obligations que tous les champs doivent être remplis
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
>
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
20 juin 2017 à 13:52
20 juin 2017 à 13:52
je veux afficher les résultat selon les critères des users saisis et c'est pas une obligations que tous les champs doivent être remplis
Donc c'est bien ce que j'ai compris et que j'ai traduit par le code que je t'ai donné juste avant ....
elle ne retourne rien le ECHO
SELECT * FROM annonce A ,wilaya W WHERE A.`code_wilaya` = W.`code_wilaya` AND `Etat_annonce`='1'
Tu peux nous montrer ton code modifié ????
Peux tu également ajouter, au début de ton code, un
print_r($_POST);et nous dire ce qu'il retourne
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
1
22 juin 2017 à 11:56
22 juin 2017 à 11:56
j'ai appliqué ça il ne récupére pâs les 3 champs nom salle nombre étoile et le nombre des places
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
>
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
22 juin 2017 à 11:58
22 juin 2017 à 11:58
Tu as appliqué le code ....... en mettant le nom de TES variables ???
Comme déjà dit ici : https://forums.commentcamarche.net/forum/affich-34615059-php-my-sql#13
Comme déjà dit ici : https://forums.commentcamarche.net/forum/affich-34615059-php-my-sql#13
yg_be
Messages postés
23447
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
28 janvier 2025
Ambassadeur
1 562
20 juin 2017 à 14:13
20 juin 2017 à 14:13
si j'en crois le message de départ:
Variable POST = Array
(
[titre] => fériel
[choix] => Chlef
[number_etoile] => 4
[event] => mariage
[place_salle] => 350
[prix] => 200000
[submit] => Filtrer
)
je te rappelle ma remarque en #2:
as-tu remarqué que $_POST['etoile'] est absent?
Variable POST = Array
(
[titre] => fériel
[choix] => Chlef
[number_etoile] => 4
[event] => mariage
[place_salle] => 350
[prix] => 200000
[submit] => Filtrer
)
je te rappelle ma remarque en #2:
as-tu remarqué que $_POST['etoile'] est absent?
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
1
20 juin 2017 à 14:29
20 juin 2017 à 14:29
j'ai pas compris elle n'est pas absente !!
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
>
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
20 juin 2017 à 14:35
20 juin 2017 à 14:35
La variable POST se nomme : number_etoile et non "etoile" comme tu l'as écris dans le code....
Idem pour la variable place ... => Dans ton POST c'est : place_salle
....
Encore du cafouillage dans le code .....
Idem pour la variable place ... => Dans ton POST c'est : place_salle
....
Encore du cafouillage dans le code .....
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
1
20 juin 2017 à 14:45
20 juin 2017 à 14:45
ouii j'ai corrigé ça suite a votre remarque la derniére fois
le probléme c pas a ce niveau
le probléme c pas a ce niveau
<div class="portfolio container">
<div class="portfolio-title">
<h4 style="font-style: italic;color: #c6526b;font-family:Times;">Les Salles des fêtes retrouvées</h4>
</div>
<div class="row">
<?php
//activation de l'affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display-errors','on');
//------------------------------------------------------------//
// le temps des tests
//------------------------------------------------------------//
echo "<pre> Variable POST = ";
print_r($_POST);
echo "</pre>";
//------------------------------------------------------------//
//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 = !empty($_POST['option_salle']) ? $_POST['option_salle']: NULL;
//------------------------------------------------------------//
// Traitement du SUBMIT
//------------------------------------------------------------//
if( isset($_POST['submit'])) {
$requete = "
SELECT *
FROM annonce A ,wilaya W
WHERE A.`code_wilaya` = W.`code_wilaya`
AND `Etat_annonce`='1'
and (
(`nom_salle` LIKE '$salle%' )
AND
(`prix_salle`>='$prix_min' and `prix_salle`<='$prix_max')
/*
AND
(`event` LIKE '$event' )
AND
(`nbre_etoile` = '$etoile')
AND
(`nbre_place` ='$place')
AND
(`designation_wilaya` like '$wilaya')
AND
(`parking` like '$option')
AND
(`traiteur` like '$option')
AND
(`serveur`like '$option')
AND
(`diner` like '$option')
AND
(`soiree` like '$option')
AND
(`boisson` like '$option')
AND
(`salee` like '$option')
AND
(`dj` like '$option')
AND
(`decoration` like '$option')
AND
(`camera` like '$option')
AND
(`zorna` like '$option')
AND
(`limosine` like '$option')*/
)
";
$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 {
echo '<div class="alert alert-info">
<strong>Info!</strong> Aucune résultat a été retourné.
</div>';
}
} else {
echo '<div class="alert alert-danger">
<strong>Erreur!</strong> php .
</div>';
}
?>
</div>
</div>
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
>
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
21 juin 2017 à 11:29
21 juin 2017 à 11:29
Avant de te répondre ... je te fais une dernière fois la remarque :
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code) => En indiquant DANS les balises ... le LANGAGE utilisé !!! (cela permet d'avoir la couleur et les numéros de lignes !!!!!!!!! )
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
NB : Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code) => En indiquant DANS les balises ... le LANGAGE utilisé !!! (cela permet d'avoir la couleur et les numéros de lignes !!!!!!!!! )
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
1
21 juin 2017 à 11:27
21 juin 2017 à 11:27
lorsque je teste champs par champs , le derneir message s'est affiché :
et lorsque je mis presque tous les champs en commentaires et je teste un par un il ya des résultats
le probléme je veux une affichage selon les critéres saisie quelque soit input ou bien les checkbox
PS : lorsque je choisis plusieurs options (Checkboxes) dans le post le 1er qui est t'afficher els autre no
SVP est ce vous pouvez m'aider
<strong>Info!</strong> Aucune résultat a été retourné.
et lorsque je mis presque tous les champs en commentaires et je teste un par un il ya des résultats
le probléme je veux une affichage selon les critéres saisie quelque soit input ou bien les checkbox
PS : lorsque je choisis plusieurs options (Checkboxes) dans le post le 1er qui est t'afficher els autre no
SVP est ce vous pouvez m'aider
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
21 juin 2017 à 11:31
21 juin 2017 à 11:31
Donc... maintenant... lorsque je regarde le code que tu viens de nous poster ... je constate que tu n'as pas tenu compte de mon message précédent : https://forums.commentcamarche.net/forum/affich-34615059-php-my-sql#8
Je te laisse apporter cette correction puis nous reposter ton code modifié avant de poursuivre cette discussion !!!!
Je te laisse apporter cette correction puis nous reposter ton code modifié avant de poursuivre cette discussion !!!!
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
1
22 juin 2017 à 11:05
22 juin 2017 à 11:05
no j'ai déja essayé votre code mais ne marchera pas et méme j'ai poster l'affichage
j'ai mis echo $sql
rien na été retourné
elle ne retourne rien le ECHO SELECT * FROM annonce A ,wilaya W WHERE A.`code_wilaya` = W.`code_wilaya` AND `Etat_annonce`='1' je veux afficher les résultat selon les critères des users saisis et c'est pas une obligations que tous les champs doivent être remplis
j'ai mis echo $sql
rien na été retourné
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
>
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
22 juin 2017 à 11:54
22 juin 2017 à 11:54
Tu as vraiment du mal à comprendre ......
Applique TOUT ce que j'ai marqué ici : https://forums.commentcamarche.net/forum/affich-34615059-php-my-sql#8
Applique TOUT ce que j'ai marqué ici : https://forums.commentcamarche.net/forum/affich-34615059-php-my-sql#8
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
>
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
22 juin 2017 à 11:55
22 juin 2017 à 11:55
Et puis... MONTRE MOI LE CODE MODIFIE !
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
1
22 juin 2017 à 12:11
22 juin 2017 à 12:11
j'ai compris ce que tu as demandé dans le echo il y'a que la requete
Variable POST = Array ( [titre] => fériel [choix] => Choisir [number_etoile] => 3 [event] => [place_salle] => 100 [prix_min] => [prix_max] => [submit] => Filtrer ) SELECT * FROM annonce A ,wilaya W WHERE A.`code_wilaya` = W.`code_wilaya` AND `Etat_annonce`='1' AND nom_salle = 'fériel' AND nbre_etoile = '3 ' AND nbre_place = '100' Info! Aucune résultat a été retourné.
jordane45
Messages postés
38397
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
28 janvier 2025
4 732
>
deep_sea
Messages postés
201
Date d'inscription
mardi 10 mai 2016
Statut
Membre
Dernière intervention
10 décembre 2022
22 juin 2017 à 12:13
22 juin 2017 à 12:13
Comment te le dire autrement ???!!!
Je veux voir ton Code PHP MODIFIÉ !!!
C'est pourtant simple à comprendre.... non ?
Je veux voir ton Code PHP MODIFIÉ !!!
C'est pourtant simple à comprendre.... non ?