Formulaire php de lecture dans bd sql

Résolu/Fermé
mathus28 Messages postés 18 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 14 avril 2009 - 14 janv. 2008 à 19:07
 mathus28 - 19 janv. 2008 à 12:14
Bonjour a tous
j'ai cree une fomulaire avec listes deroulantes et cases a cocher permettant de lire des donnees dans ma base sql. mais lorsque j'execute ca m'affiche cette erreur:


Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in d:\test\form.php on line 18

je me casse la tete depuis mais j'y arrive pas. c'est pk je lance ce sos

merci d'avance pour les reponses

8 réponses

R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
14 janv. 2008 à 19:38
Bonjour,

Un peu de code serait bienvenu pour t'aider à débugger ton problème.

Raph
0
mathus28 Messages postés 18 Date d'inscription lundi 14 janvier 2008 Statut Membre Dernière intervention 14 avril 2009
14 janv. 2008 à 19:54
voici mon code( ne vous marrez pas pleaz)


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
<head>
<title>IMMOb</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
</head>
<body>
<p>Veuillez entrer les info pr la recherche de votre future piole:</p>
<form action="imo.php" method="post">
<p>
<label> La ville</label> :<input type="text" name="ville" value="cotonou" /><br />
Cochez le type d'immobilier que vous recherchez:
<input type="checkbox" name="villa" id="villa" checked="checked"/> <label for="villa">Villa</label>
<input type="checkbox" name="appartement" id="appartement" /> <label for="appartement">Appartement</label>
<input type="checkbox" name="hotel" id="hotel" /> <label for="hotel">Hotel</label><br />

Veuillez indiquer le nombre de pieces de votre futur immobilier :<br />
<input type="radio" name="nbp" value="1" id="1" checked="checked"/> <label for="1">1 Piece</label><br />
<input type="radio" name="nbp" value="2" id="2" /> <label for="2">2 Pieces</label><br />
<input type="radio" name="nbp" value="3" id="3" /> <label for="3">3 Pieces</label><br />
<input type="radio" name="nbp" value="4" id="4" /> <label for="4">4 Pieces</label><br />
<input type="radio" name="nbp" value="5" id="5" /> <label for="5">5 Pieces</label><br />


Budget entre :<input type="number" name="prix1" /> <label> et</label> :<input type="number" name="prix2" /><br />
<input type="submit" value="Valider" />
</p>
</form>
<p>Cette page est réservée a ceux ki en on dans la tete ! ;-)</p>
</body>
</html>
if (isset($_POST['ville']))
{
<?php
mysql_connect("localhost","root","");
mysql_select_db("test");


$reponse=mysql_query("SELECT * FROM imobloc ") or die(mysql_error());


while ($donnees=mysql_fetch_array($reponse) )
{
if (isset($_POST['villa']) | isset($_POST['appartement']) OR isset($_POST['hotel']))
{
if (isset($_POST['prix1']) AND isset($_POST['prix2']))
{
if (isset($_POST['nbp']))
{
$reponse=mysql_query("SELECT * FROM imobloc WHERE villeloc=$_POST['ville'], typpeloc=$_POST['villa'] | typpeloc=$_POST['appartement'] | typpeloc=$_POST['hotel'],nbr_pieces_loc=$_POST['1'], prixloc >= $_POST['prix1']AND prix <= $_POST['prix2']") or die(mysql_error());
while ($donnees=mysql_fetch_array($reponse)
{
echo $donnees['descriptif'];?><br />
<?php echo $donnees['prixloc'];?><br />
<?php echo $donnees['nompro'];?><br />
<?php echo $donnees['contacts'];?><br />
<?php echo $donnees['etatloc'];?><br /><?php
}
}
}
}

}
}
mysql_close();
?>
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
14 janv. 2008 à 20:01
salut,

cette erreur là tu l'a croisera des centaines de fois.
il faut souvent regarder à la ligne précédente (17 pour toi).

mais en regardant le code, il y a quelque chose qui cloche :
if (isset($_POST['ville']))
{
<?php 

tu mets du code PHP avant l'ouverture de balise, donc il cherche l'ouverture du 'if()'.
0
ke dois je faire alors?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
R4f Messages postés 441 Date d'inscription dimanche 13 janvier 2008 Statut Membre Dernière intervention 5 mai 2008 62
16 janv. 2008 à 00:00
Tu transforme
if (isset($_POST['ville']))
{
<?php


en

<?php
if (isset($_POST['ville']))
{


Bref, c'est ce que suggérait à juste titre notre ami(e) Dalida

Raph
0
cool ca marche!
mais la meme erreur se repete au niveau de la ligne de code:

$reponse=mysql_query("SELECT * FROM imobloc WHERE villeloc=$_POST['ville'], typpeloc=$_POST['villa'] | typpeloc=$_POST['appartement'] | typpeloc=$_POST['hotel'],nbr_pieces_loc=$_POST['1'], prixloc >= $_POST['prix1']AND prix <= $_POST['prix2']") or die(mysql_error());

apparement le 'if ' precedant cette ligne de code est inclus dans le code php. alors pourquoi est ce que cette erreur se repete-elle?
je serai ravis d'etre eclairé la dessus
merci
0
Dalida Messages postés 6728 Date d'inscription mardi 14 mai 2002 Statut Contributeur Dernière intervention 11 janvier 2016 920
16 janv. 2008 à 11:11
salut,

en tout cas tu ne peux pas obtenir la valeur de l'élément d'un tableau, à 'intérieur des guillemets.

et aère ton code si tu veux pouvoir trouver les erreurs !
$reponse = mysql_query( 'SELECT * FROM imobloc WHERE villeloc='.$_POST['ville'].
													', typpeloc='.$_POST['villa'].
													' | typpeloc='.$_POST['appartement'].
													' | typpeloc='.$_POST['hotel'].
													', nbr_pieces_loc='.$_POST['1'].
													', prixloc >= '.$_POST['prix1'].
													' AND prix <= '.$_POST['prix2'] ) or die(mysql_error());
0
Ca marche!!
trop cool, big respect et surtout MERCI
0