Aide pour code formulaire php/base de données

Fermé
Marjory Messages postés 7 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 27 juillet 2007 - 23 juil. 2007 à 17:15
Marjory Messages postés 7 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 27 juillet 2007 - 27 juil. 2007 à 16:21
Bonjour,

J'ai créé un code en php pour un formulaire de recherche.
Ce code marche très bien avec ma base de données.

Par contre, ma question est :

Comment faire pour rajouter une ligne "indifférent" à chaque case? En fait, rajouter "indifférent", je sais faire, je devrais plutôt demander :
Quel code rajouter pour que cela me donne tous les champs possible lorsqu'"indifférent" est notifié?

S'il vous faut aussi le code de ma 2eme page, dites-le moi.

Merci pour votre aide :-)

Marjorie




<form action="reponse.php" method="post">
<fieldset>
<legend class="titre"></legend>
<legend class="titre">Recherche</legend>
<table width="277" border="0" align="center" cellpadding="0" cellspacing="5" bordercolor="#FFFFFF">
<tr>
<td width="277" height="32"><div align="center">
<label for="nom"><span class="textetableau">Référence : </span></label>
<span class="textetableau"></span></span>
<input name="ref" type="text" class="liste" id="ref" size="20" maxlength="20" />
</div></td>
</tr>
<tr>
<td height="32"><div align="center"><span class="textetableau">Ville :
<select name="ville" size="1" class="liste" id="ville">
<option value="Carcassonne">Carcassonne</option>
<option value="Narbonne">Narbonne</option>
</select>
</span> </div></td>
</tr>
<tr>
<td height="37"><div align="center">
<p><span class="textetableau">Type : </span>
<select name="type" size="1" class="liste" id="type">
<option value="Maison">Maison</option>
<option value="Appartement">Appartement</option>
</select>
</p>
<p><span class="textetableau">Animaux acceptés :
</span>
<input name="checkbox" type="checkbox" class="liste" value="checkbox" />
</p>
</div></td>
</tr>
<tr>
<td><div align="center">
<p>
<input name="Submit" type="submit" class="textetableau" value="Envoyer" />
A voir également:

4 réponses

Je suppose que tu veux mettre indifferent dans tes listes <select ?

Alors tu testes dans ton script de traitement lorsque tu reçoit indifférent, dans ta requette mysql tu mets WHERE champ LIKE '%'

(vas voir sur le site Mysql pour plus de précisions) de mémoire je ne me souviens plus trop de la syntaxe
0
Tout d'abord, merci pour ta réponse :-)

Effectivement, je voudrais mettre "indifférent" dans mes listes "select".

J'ai testé:
$reponse = mysql_query("SELECT * FROM gites WHERE ville LIKE ='%$ville%' AND type='$type'") or die(mysql_error()); // Requête SQL

Mais ça me dit ça :

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 '='%Cagnes sur Mer%' AND type='Maison'' at line 1

Je comprend bien que j'ai une erreur de syntaxe :-p. Je continu de chercher mais vos avis sont les bienvenus !

Soyez indulgents, ça fait 1 mois et demi que je ne me suis pas replongée dans les codes!

Marjorie
0
J'ai essayé avec ça :

$reponse = mysql_query("SELECT * FROM gites WHERE ville LIKE ville='%$ville%' AND type='$type'") or die(mysql_error()); // Requête SQL

Et ça ne me trouve aucune réponse, ça me dit "aucune réponse ne correspond", la phrase que je fais s'afficher quand il n'y a psa de réponse.

Au moins, ça ne me donne plus d'erreur de syntaxe. Mais je ne vois pas où corriger.

Je vous met en-dessous le code de ma 2eme page:


$reponse = mysql_query("SELECT * FROM gites WHERE ville LIKE ville='%$ville%' AND type='$type'") or die(mysql_error());

if ($donnees = mysql_fetch_assoc($reponse)){
do {

?>
</span></p>
<fieldset><table width="651" height="114" border="0" align="center" cellpadding="0" cellspacing="2">
<tr>
<td width="361"><span class="texte">Référence : <?php echo $donnees['ref']; ?></span><span class="Style1"><br />
</span><span class="texte">Ville : <?php echo $donnees['ville']; ?></span></td>
<td width="290"><span class="texte">Type : <?php echo $donnees['type']; ?> </tr>
<tr>
<td colspan="2"><span class="texte">Description : <?php echo $donnees['description']; ?></span></td>
</tr>
</table></fieldset>
<p><span class="Style1"><br />
<br />
<?php
} while ($donnees=mysql_fetch_assoc($reponse));
} else {
?>
</span></p>
<span class="Style1">
<div align="center" class="texte">Il n'y a pas de réponse à votre recherche</div>
<?php
}

mysql_close(); // Déconnexion de MySQL
?>
</span></span>
</body>
</html>
0
Essayes plutôt:

$reponse = mysql_query("SELECT * FROM gites WHERE ville LIKE '%' AND type='$type'")



Mais il faut que tu fasses trois requettes:

if($_POST['ville']=='Indifferent" && $_POST['type']!='Indifferent"){
$reponse = mysql_query("SELECT * FROM gites WHERE ville LIKE '%' AND type='$type'");
}

if($_POST['ville']!='Indifferent" && $_POST['type']=='Indifferent"){
$reponse = mysql_query("SELECT * FROM gites WHERE ville='$ville' AND type LIKE '%' ");
}

if($_POST['ville']!='Indifferent" && $_POST['type']!='Indifferent"){
$reponse = mysql_query("SELECT * FROM gites WHERE ville='$ville' AND type='$type'");
}

% est un caractère "jocker"
0
Marjorie > Alain42
24 juil. 2007 à 17:35
Merci pour le code, je l'ai inséré, mais ça me dit ça :

Parse error: syntax error, unexpected T_STRING in /home.13/monsite/www/reponse_gite.php on line 12

Et la ligne 12, c'est ça:
if($_POST['ville']=='Indifferent" && $_POST['type']!='Indifferent"){

Avez-vous une idée? :-(
0
Alain42 > Alain42
24 juil. 2007 à 17:40
Désolé mais c'est pour voir si tu suivais.

j'ai un peu mélangé involontairement bien sur les simples quotes ' et les doubles quotes "

if($_POST['ville']=='Indifferent" && $_POST['type']!='Indifferent")


mets:

if($_POST['ville']=="Indifferent" && $_POST['type']!="Indifferent")


A bientôt !
0
Marjory Messages postés 7 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 27 juillet 2007 > Alain42
26 juil. 2007 à 16:29
J'ai rectifié, mais ça me dit encore ça :

Parse error: syntax error, unexpected '}' in /home.13/monsite/www/reponse_gite.php on line 14


La ligne 14, c'est juste une accolade !

if($_POST['ville']=="Indifférent" && $_POST['type']!="Indifférent")
$reponse = mysql_query("SELECT * FROM gites WHERE ville LIKE '%' AND type='$type'");
} ......................................................................................................................LIGNE 14


Je ne comprend vraiment pas l'erreur (dès fois, elle est juste sous nos yeux et on ne voit rien...)



un bout de mon code :

mysql_connect("mysql5-2", "monsite", "****")or die('Erreur de connexion');
mysql_select_db("****") or die('Base inexistante');


if($_POST['ville']=="Indifférent" && $_POST['type']!="Indifférent")
$reponse = mysql_query("SELECT * FROM gites WHERE ville LIKE '%' AND type='$type'");
}

if($_POST['ville']!="Indifférent" && $_POST['type']=="Indifférent"){
$reponse = mysql_query("SELECT * FROM gites WHERE ville='$ville' AND type LIKE '%'");
}

if($_POST['ville']!="Indifférent" && $_POST['type']!="Indifférent"){
$reponse = mysql_query("SELECT * FROM gites WHERE ville='$ville' AND type='$type'");
}


if ($donnees = mysql_fetch_assoc($reponse)){
do {
0
Marjory Messages postés 7 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 27 juillet 2007
26 juil. 2007 à 17:11
AIE ! J'ai parlé trop vite !
J'ai une nouvelle erreur quand je fais "Indifférent" dans ville et "Indifférent" dans type, pour avoir la totalité de ma liste qui s'affiche.

Ca me dit :
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home.13/monsite/www/reponse_gite.php on line 27

Ma ligne 27 comprend ma boucle:

if($_POST['ville']!="Indifférent" && $_POST['type']!="Indifférent"){
$reponse = mysql_query("SELECT * FROM gites WHERE ville='$ville' AND type='$type'");
}

// On fait une boucle pour lister tout ce que contient la table :

if ($donnees = mysql_fetch_assoc($reponse)){............................................................Ma ligne 27
do {
0
Essayes avec mysql_fetch_assoc(...)
0
Marjory Messages postés 7 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 27 juillet 2007
26 juil. 2007 à 17:21
Heu... C'est pas ce que j'ai mis déjà?
0
mysql_fetch_array() je suis fatigué décidément !
0
Marjory Messages postés 7 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 27 juillet 2007
26 juil. 2007 à 17:32
Non, j'ai toujours:

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home.13/monsite/www/reponse_gite.php on line 27
0
Remplaces mysql_fetch_assoc
par
mysql_fetch_array
0
Marjory Messages postés 7 Date d'inscription lundi 23 juillet 2007 Statut Membre Dernière intervention 27 juillet 2007 > Alain42
27 juil. 2007 à 16:21
Non, j'ai toujours :

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home.13/monsite/www/reponse_gite.php on line 27

Je continue à chercher... :-)
0