My sql
deep_sea
Messages postés
201
Date d'inscription
Statut
Membre
Dernière intervention
-
deep_sea Messages postés 201 Date d'inscription Statut Membre Dernière intervention -
deep_sea Messages postés 201 Date d'inscription Statut Membre Dernière intervention -
Bonjour ,
je suis entraîne de faire un moteur de recherche qui permet d'établir une comparaison entre les salles des fêtes selon les critères recommandé
une fois j'actualise la page service , un message d'erreur signalé :Erreur! Php
voici le code
<?php
if( isset($_POST['submit']))
{
$salle = $_POST['titre'];
/*
$etoile= $_POST['nbre_etoile'];
$event = $_POST['event'];
$place= $_POST['nbre_place'];
$prix = $_POST['prix_salle'];
$requete = "SELECT * FROM `annonce` ,`wilaya` WHERE `annonce`.`code_wilaya` = `wilaya`.`code_wilaya` and `Etat_annonce`=1 and `nom_salle` LIKE '$salle' ";
$resultat = $conn->query($requete) or die ('Erreur '.$requete.' '.$conn->error);
if(mysqli_num_rows($resultat)>0)
{
while ($row = mysqli_fetch_assoc($resultat))
{
if( ($prix >= `prix_salle`) and ($prix <= `prix_salle`))
{
echo ' <div class="icon-awesome">
<img src="imagesbd/'. $row["gallerie"] . '" alt="salle" />
</div>
<h3>'.$row['nom_salle'].'</h3>
<h4>'.$row['prix_salle'].',00 DZ </h4>
<h5> '.$row['event'] .' </h5>
<p>'.$row['adresse_salle'].' ,'.$row['designation_wilaya'] .' </p>
';
}
else
{
echo '<div class="alert alert-info">
<strong>Info!</strong> Aucune salle ne correspond a ce prix.
</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>';
}
?>
je suis entraîne de faire un moteur de recherche qui permet d'établir une comparaison entre les salles des fêtes selon les critères recommandé
une fois j'actualise la page service , un message d'erreur signalé :Erreur! Php
voici le code
<?php
if( isset($_POST['submit']))
{
$salle = $_POST['titre'];
/*
$etoile= $_POST['nbre_etoile'];
$event = $_POST['event'];
$place= $_POST['nbre_place'];
$prix = $_POST['prix_salle'];
- /
$requete = "SELECT * FROM `annonce` ,`wilaya` WHERE `annonce`.`code_wilaya` = `wilaya`.`code_wilaya` and `Etat_annonce`=1 and `nom_salle` LIKE '$salle' ";
$resultat = $conn->query($requete) or die ('Erreur '.$requete.' '.$conn->error);
if(mysqli_num_rows($resultat)>0)
{
while ($row = mysqli_fetch_assoc($resultat))
{
if( ($prix >= `prix_salle`) and ($prix <= `prix_salle`))
{
echo ' <div class="icon-awesome">
<img src="imagesbd/'. $row["gallerie"] . '" alt="salle" />
</div>
<h3>'.$row['nom_salle'].'</h3>
<h4>'.$row['prix_salle'].',00 DZ </h4>
<h5> '.$row['event'] .' </h5>
<p>'.$row['adresse_salle'].' ,'.$row['designation_wilaya'] .' </p>
';
}
else
{
echo '<div class="alert alert-info">
<strong>Info!</strong> Aucune salle ne correspond a ce prix.
</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>';
}
?>
A voir également:
- My sql
- What is my movie français - Télécharger - Divers TV & Vidéo
- My pascal - Télécharger - Édition & Programmation
- My lockbox - Télécharger - Chiffrement
- Who's on my wifi - Télécharger - Outils Internet
- My cam - Télécharger - Pilotes & Matériel
4 réponses
Pouvez-vous détailler un peu plus l'erreur, car nous n'avons pas beaucoup de renseignement sur celle-ci ?
Bonjour ..
Déjà Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser à l'avenir... car comme tu vas le voir ci-dessous.. avec la couleur et l'indentation .. le code est beaucoup plus facile à lire.
Donc teste ceci :
Et dis nous ce que ça te donne (colle nous ce que ça t'affiche )
.
Et au passage .... montre nous aussi le code HTML de ton formulaire.
Car comme te l'a dit Ciran28 ... tu n'envoies pas la variable POST['submit'] ...
Déjà Pour poster du code sur le forum.. merci d'utiliser la coloration syntaxique (les balises de code).
Explications disponibles ici : https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code
Merci d'y penser à l'avenir... car comme tu vas le voir ci-dessous.. avec la couleur et l'indentation .. le code est beaucoup plus facile à lire.
Donc teste ceci :
<?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['etoile']) ? $_POST['etoile']: NULL; $event = !empty($_POST['event']) ? $_POST['event']: NULL; $place = !empty($_POST['place']) ? $_POST['place']: NULL; $prix = !empty($_POST['prix']) ? $_POST['prix']: 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%' "; $resultat = $conn->query($requete);; if (!$resultat) { printf("Message d'erreur : %s\n", mysqli_error($link)); } if(mysqli_num_rows($resultat)>0) { while ($row = mysqli_fetch_assoc($resultat)) { if( ($prix >= `prix_salle`) and ($prix <= `prix_salle`)){ echo ' <div class="icon-awesome"> <img src="imagesbd/'. $row["gallerie"] . '" alt="salle" /> </div> <h3>'.$row['nom_salle'].'</h3> <h4>'.$row['prix_salle'].',00 DZ </h4> <h5> '.$row['event'] .' </h5> <p>'.$row['adresse_salle'].' ,'.$row['designation_wilaya'] .' </p> '; } else { echo '<div class="alert alert-info"> <strong>Info!</strong> Aucune salle ne correspond a ce prix. </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>'; } ?>
Et dis nous ce que ça te donne (colle nous ce que ça t'affiche )
.
Et au passage .... montre nous aussi le code HTML de ton formulaire.
Car comme te l'a dit Ciran28 ... tu n'envoies pas la variable POST['submit'] ...
Je pense que tu auras un autre souci ensuite ...
1 - `prix_salle` .. n'est pas un nombre ....
Si tu veux le "prix_salle" issu de la requête .. tu dois écrire :
2 - Comment un Prix peut-il être en même temps (tu as utilisé un "AND" ) inférieur ET supérieur à un même nombre ??? ( enfin vu que tu as mis >= et <= ... cette condition pourra tout de même être vrai dans un seul cas ... lorsque ça sera "=" )
Bref.... à la place d'un AND .. utilises un OR !
if( ($prix >= `prix_salle`) and ($prix <= `prix_salle`)){
1 - `prix_salle` .. n'est pas un nombre ....
Si tu veux le "prix_salle" issu de la requête .. tu dois écrire :
$row["prix_salle"]
2 - Comment un Prix peut-il être en même temps (tu as utilisé un "AND" ) inférieur ET supérieur à un même nombre ??? ( enfin vu que tu as mis >= et <= ... cette condition pourra tout de même être vrai dans un seul cas ... lorsque ça sera "=" )
Bref.... à la place d'un AND .. utilises un OR !
En lisant le code que tu avais mis dans ta question en "doublon" (que je viens de supprimer...) j'ai vu le code de ton bouton :
Hors... pour qu'il puisse fonctionner (en validant le formulaire) il faut mettre un type SUBMIT !
par exemple
<button type="button" class="btn btn-danger btn-block" style="border-radius: 12px;" name="submit">Filtrer</button>
Hors... pour qu'il puisse fonctionner (en validant le formulaire) il faut mettre un type SUBMIT !
par exemple
<input type="submit" class="btn btn-danger btn-block" style="border-radius: 12px;" name="submit" value="Filtrer" \>
même erreur malgré ça j'ai ajouté les autres critères pour tester --> ERREUR a été change et toujours aucune résultat a été retourné
<div class="what-we-do container"> <div class="row"> <div class="service span12"> <?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['etoile']) ? $_POST['etoile']: NULL; $event = !empty($_POST['event']) ? $_POST['event']: NULL; $place = !empty($_POST['place']) ? $_POST['place']: NULL; $prix = !empty($_POST['prix']) ? $_POST['prix']: NULL; $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%' or 'prix' like '%$prix%' or 'etoile' =$etoile or 'event'= '%$event%' or 'place' =$place or 'designation_wilaya' like '% $wilaya%' or `parking` like '%$option%' or `traiteur` like '%$option%' or `serveur` like '%$option%' or `diner` like '%$option%' or `soiree` like '%$option%' or `boisson` like '%$option%' or `salee` like '%$option%' or `dj` like '%$option%' or `decoration` like '%$option%' or `camera` like '%$option%' or `limosine` like '%$option%' or `zorna` like '%$option%' ) "; $resultat = $conn->query($requete);; if (!$resultat) { printf("Message d'erreur : %s\n", mysqli_error($link)); } if(mysqli_num_rows($resultat)>0) { while ($row = mysqli_fetch_assoc($resultat)) { if( ($prix >= $row["prix_salle"]) and ($prix <= $row["prix_salle"])){ echo ' <div class="icon-awesome"> <img src="imagesbd/'. $row["gallerie"] . '" alt="salle" /> </div> <h3>'.$row['nom_salle'].'</h3> <h4>'.$row['prix_salle'].',00 DZ </h4> <h5> '.$row['event'] .' </h5> <p>'.$row['adresse_salle'].' ,'.$row['designation_wilaya'] .' </p> '; } else { echo '<div class="alert alert-info"> <strong>Info!</strong> Aucune salle ne correspond a ce prix. </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> </div>
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :ICIMerci d'y penser dans tes prochains messages.Jordane45 |
1 - Dans ton fichier .... il n'y a pas la connexion à la bdd
2 - Tu as utilisé $con et $link .... lequel correspond à ta connexion ????
3 - Que t'affiche le print_r($_POST); ???
Si on te l'a fait ajouté .. c'est pour que tu nous colles son contenu dans le forum !!
2 - Tu as utilisé $con et $link .... lequel correspond à ta connexion ????
$resultat = $conn->query($requete);; if (!$resultat) { printf("Message d'erreur : %s\n", mysqli_error($link)); }
3 - Que t'affiche le print_r($_POST); ???
Si on te l'a fait ajouté .. c'est pour que tu nous colles son contenu dans le forum !!
si il y a ma connexion vers la base de donnée
Voici l'affichage :
Variable POST = Array
(
[titre] => capricorn
[choix] => Laghouat
[number_etoile] => 5
[event] => mariage
[place_salle] => 250
[prix] => 200000
[option_salle] => on
[submit] => Filtrer
)
le problème avec le prix et les options de checkbox
messages d'erreur :
Notice: Undefined variable: link in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\Afrahcom\services.php on line 407
Warning: mysqli_error() expects parameter 1 to be mysqli, null given in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\Afrahcom\services.php on line 407
Message d'erreur :
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 410
en plus le message de code: Info! Aucune résultat a été retourné.
<?php
include 'includes\db.php';
?>
Voici l'affichage :
Variable POST = Array
(
[titre] => capricorn
[choix] => Laghouat
[number_etoile] => 5
[event] => mariage
[place_salle] => 250
[prix] => 200000
[option_salle] => on
[submit] => Filtrer
)
le problème avec le prix et les options de checkbox
messages d'erreur :
Notice: Undefined variable: link in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\Afrahcom\services.php on line 407
Warning: mysqli_error() expects parameter 1 to be mysqli, null given in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\Afrahcom\services.php on line 407
Message d'erreur :
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 410
en plus le message de code: Info! Aucune résultat a été retourné.
si il y a ma connexion vers la base de donnée
je dois être miro ... je ne la vois pas dans le code que tu as posté....
messages d'erreur :
Notice: Undefined variable: link in C:\Program Files (x86)\EasyPHP-DevServer-14.1VC9\data\localweb\projects\Afrahcom\services.php on line 407
... ben oui.. c'est bien ce que je te disais ... tu as utilisé $link ET $con ..... LEQUEL correspond à ta connexion ????
(peux tu nous montrer ton code de connexion à ta bdd (en retirant le user/password ) ??
Ensuite.... fais donc un echo de ta variable $requete et montre nous ce que ça donne.
Puis... prends cette requête et teste la DIRECTEMENT dans ta bdd via phpmyadmin pour voir si elle te retourne quelquechose....
pour la connexion c 'est $conn et pas $link
Variable POST = Array
(
[titre] => capricorn
[choix] => Tiaret
[number_etoile] => 3
[event] => mariage
[place_salle] => 200
[prix] => 200000
[option_salle] => on
[submit] => Filtrer
)
Message d'erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'or 'event'= '%mariage' ' at line 8
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 410
Info! Aucune résultat a été retourné.
Variable POST = Array
(
[titre] => capricorn
[choix] => Tiaret
[number_etoile] => 3
[event] => mariage
[place_salle] => 200
[prix] => 200000
[option_salle] => on
[submit] => Filtrer
)
Message d'erreur : You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'or 'event'= '%mariage' ' at line 8
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 410
Info! Aucune résultat a été retourné.
et voila le code html correspond
<form action="" method="POST"> <div class="services-half-width container"> <div class="row"> <div class="services-half-width-text span12"> <div class="input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-certificate"></i></span> <input id="titre" type="text" class="form-control" name="titre" placeholder="Nom de la salle des Fêtes "> </div> <div class="input-group"> <?php $requete = "SELECT `code_wilaya`, `designation_wilaya` FROM `wilaya` "; $resultat = $conn->query($requete) or die ('Erreur '.$requete.' '.$conn->error); echo "<select name='choix'>"; echo '<option>Choisir</option>'; if(mysqli_num_rows($resultat)>0) { while ($row = mysqli_fetch_assoc($resultat)) { echo' <option>'.$row['designation_wilaya'].'</option>'; } } else { echo "0 results"; } echo "</select>"; ?> </div> <div class="input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-star"></i></span> <input id="number" type="number" class="form-control" name="number_etoile" placeholder="Nombre d'étoiles"> </div> <div class="input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-list-alt"></i></span> <input id="event" type="text" class="form-control" name="event" placeholder="Evenement 1 , evenement 2, ..." /> </div> <div class="input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-pencil"></i></span> <input id="place" type="number" class="form-control" name="place_salle" placeholder="Nombre de place" /> </div> <div class="input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-usd"></i></span> <input id="prix" type="number" class="form-control" name="prix" placeholder="prix minimun" pattern="^\d+(\.|\,)\d{2}$"/> </div> <div class="input-group"> <span class="input-group-addon"><i class="glyphicon glyphicon-usd"></i></span> <input id="prix" type="number" class="form-control" name="prix" placeholder="prix maximun" pattern="^\d+(\.|\,)\d{2}$"/> </div> <div class="input-group"> <label class="label label-default" style="background-color: #c6526b;" id="clickme">Options avancés</label> </div> <center> <table class="table" id="tab"> <thead> <tr> <th> </th> <th> </th> </tr> </thead> <tbody > <tr> <td><label class="radio-inline"><input type="checkbox" name="option_salle">Parking</label></td> <td><label class="radio-inline"><input type="checkbox" name="option_salle">Traiteur</label></td> <td> <label class="radio-inline"><input type="checkbox" name="option_salle">serveur</label></td> <td><label class="radio-inline"><input type="checkbox" name="option_salle">Diner</label></td> <td> <label class="radio-inline"><input type="checkbox" name="option_salle">Soirée</label></td> <td> <label class="radio-inline"><input type="checkbox" name="option_salle">Boisson</label></td> </tr> <tr> <td><label class="radio-inline"><input type="checkbox" name="option_salle">Salés</label></td> <td><label class="radio-inline"><input type="checkbox" name="option_salle">DJ</label></td> <td><label class="radio-inline"><input type="checkbox" name="option_salle">Décoration</label></td> <td><label class="radio-inline"><input type="checkbox" name="option_salle">Caméra</label></td> <td><label class="radio-inline"><input type="checkbox" name="option_salle">Limousine</label></td> <td><label class="radio-inline"><input type="checkbox" name="option_salle">zorna</label></td> </tr> </tbody> </table> </center> <script type="text/javascript"> var element = document.getElementById("clickme"); var tab = document.getElementById("tab"); element.onclick=function() { tab.style.visibility='visible'; }; </script> </div> <input type="submit" class="btn btn-danger btn-block" style="border-radius: 12px;" name="submit" value="Filtrer" \> </div> </div> </form>
EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici :ICIMerci d'y penser dans tes prochains messages.Jordane45 |
echo '<div class="alert alert-danger">
<strong>Erreur!</strong> php .
malgré j'ai essayé une seul condition c'est le nom de la salle
voici le code complet: