Formulaire php de lecture dans bd sql

Résolu
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
Configuration: Windows XP
Firefox 2.0.0.8

8 réponses

  1. Contributeur
    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());
    
    1. 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
      1. 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
        1. Contributeur
          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()'.
          1. 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();
            ?>
            1. Bonjour,

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

              Raph