Portail PHP

Forum de discussion et d'aide au php

Vous n'êtes pas identifié.

Annonce

Regles d'utilisation des forums : pensez à toujours les respecter si vous désirez obtenir des réponses rapides.
FAQ : pensez à toujours chercher dedans si la réponse à votre question est dedans.
Proposez vos news : si vous avez un evenement à annoncer
le chat : venez discuter de php.
 

#1 10-05-2005 12:22:38

Guest
Membre
Date d'inscription: 26-06-2004
Messages: 15
Site web

probleme de requete sql

voila je débute vraiment en php et pour un débutant comme moi, la je suis perdu....

j'ai été aidé mais la j'avoue que je bloque completement.

en fait c un formulaire avec 5 ou 6 listbox, la première fonctionne donc la requete est correcte, ceci dit qd je fais les modif pour que la requete prenne en compte la seconde listbox...ça déconne , je pense que l'erreur est minime car j'ai simplement un message m'indiquant " requete1 invalide"

pourtant la requete semble bonne, pe etre que mon erreur vient d'ailleurs, et apparemment, il y a quelques chevronné ici donc j'espère que vous allez m'aider un peu a solutionner ce probleme


voici le code de départ avec les var connections

Code:

<th><select name="menu1" onChange="this.form.submit()">
          <option value="0" selected>indifferent</option>
          <option value="1">avion</option>
          <option value="2">camion</option>
        </select>
  </th>
    <th>
        <select name="menu2" onChange="this.form.submit()">
        <?php
   $connect = mysql_connect("******","*****","");
   mysql_select_db("******", $connect);
   $requete="select distinct(modele) from occasion";
   $resul=mysql_query($requete, $connect) or die ("Requête 1 invalide");
   $ThStyle = "<option value=".$donnee[0].">";
   $sIndif = "Indifferent";
   print("<option value=".$sIndif." selected>Indifferent</option>");
   while ($donnee = mysql_fetch_array($resul, MYSQL_NUM))
   {
     print($ThStyle.$donnee[0]."</option>");
   }
   mysql_free_result($resul);
   mysql_close($connect);

ensuite j'ai plusieurs variable, ce sont les différente boxlist relié a la BD et elles fonctionnent

voici la requete donc qui apparemment déconne quelque part!


Code:

if (isset ($_POST["action"]))
{    
    $requete="select photo_1,****,***,***,***
         from nom_table
         where ((type = ".$menu1." or ".$menu1."=0)";
         
    if($menu2 = "Indifferent")
    {
         $requete = $requete.")";
         print("Menu2=Indifferent");
         
         }else{
         
         $requete = $requete." and (modele='".$menu2."')";
         print("Menu2=".$menu2);
         }
}
else
{
    $requete="select photo_1,****,*****,****,*****
    from nom_table";
}

et pour finir j'ai l'affichage des résultats, comme ceci:


Code:

<?php
if (isset ($_POST["action"]))
{
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "document.all.menu1.selectedIndex='".$menu1."';";
echo "document.all.menu2.selectedText='".$menu2."';"; 
echo "</script>";
}
?>

et donc le souci comme je l'ai dis c que le menu1 cad la première list box fonctionne, ceci dit le probleme vient du menu2 , le tri par modele par exemple ne marche plus. et j'ai une erreur "requete1 invalide"


d'avance merci

Hors ligne

 

#2 10-05-2005 12:24:49

le_big_noob
Membre
Date d'inscription: 10-05-2005
Messages: 20

Re: probleme de requete sql

voila je débute vraiment en php et pour un débutant comme moi, la je suis perdu....

j'ai été aidé mais la j'avoue que je bloque completement.

en fait c un formulaire avec 5 ou 6 listbox, la première fonctionne donc la requete est correcte, ceci dit qd je fais les modif pour que la requete prenne en compte la seconde listbox...ça déconne , je pense que l'erreur est minime car j'ai simplement un message m'indiquant " requete1 invalide"

pourtant la requete semble bonne, pe etre que mon erreur vient d'ailleurs, et apparemment, il y a quelques chevronné ici donc j'espère que vous allez m'aider un peu a solutionner ce probleme


voici le code de départ avec les var connections

Code:

<th><select name="menu1" onChange="this.form.submit()">
          <option value="0" selected>indifferent</option>
          <option value="1">avion</option>
          <option value="2">camion</option>
        </select>
  </th>
    <th>
        <select name="menu2" onChange="this.form.submit()">
        <?php
   $connect = mysql_connect("******","*****","");
   mysql_select_db("******", $connect);
   $requete="select distinct(modele) from occasion";
   $resul=mysql_query($requete, $connect) or die ("Requête 1 invalide");
   $ThStyle = "<option value=".$donnee[0].">";
   $sIndif = "Indifferent";
   print("<option value=".$sIndif." selected>Indifferent</option>");
   while ($donnee = mysql_fetch_array($resul, MYSQL_NUM))
   {
     print($ThStyle.$donnee[0]."</option>");
   }
   mysql_free_result($resul);
   mysql_close($connect);

ensuite j'ai plusieurs variable, ce sont les différente boxlist relié a la BD et elles fonctionnent

voici la requete donc qui apparemment déconne quelque part!


Code:

if (isset ($_POST["action"]))
{    
    $requete="select photo_1,****,***,***,***
         from nom_table
         where ((type = ".$menu1." or ".$menu1."=0)";
         
    if($menu2 = "Indifferent")
    {
         $requete = $requete.")";
         print("Menu2=Indifferent");
         
         }else{
         
         $requete = $requete." and (modele='".$menu2."')";
         print("Menu2=".$menu2);
         }
}
else
{
    $requete="select photo_1,****,*****,****,*****
    from nom_table";
}

et pour finir j'ai l'affichage des résultats, comme ceci:


Code:

<?php
if (isset ($_POST["action"]))
{
echo "<script language='JavaScript' type='text/JavaScript'>";
echo "document.all.menu1.selectedIndex='".$menu1."';";
echo "document.all.menu2.selectedText='".$menu2."';"; 
echo "</script>";
}
?>

et donc le souci comme je l'ai dis c que le menu1 cad la première list box fonctionne, ceci dit le probleme vient du menu2 , le tri par modele par exemple ne marche plus. et j'ai une erreur "requete1 invalide"


d'avance merci

ps comprend pas pkoi mon logging ne passe plus la maintenant, je me suis inscrit sans souci pourtant...c le_big_noob

Hors ligne

 

#3 10-05-2005 12:33:19

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: probleme de requete sql

dans la définition de ton <option> de menu, tu n'affiche pas l'ouverture de l'option...
en conséquent, comme il n'y a que la fermeture, la variable ne peut etre définie par la suite... (je ne vois que cette erreur, j'espere que ca fonctionnera)

Hors ligne

 

#4 11-05-2005 03:24:02

le_big_noob
Membre
Date d'inscription: 10-05-2005
Messages: 20

Re: probleme de requete sql

KaZhaR tu ve dire ici?

Code:

 $ThStyle = "<option value=".$donnee[0].">";

si tu pouvais m'éclairer un peu...

j'ai bien esasayé de remplacer le code ci dessus par ceci: mais en vain

Code:

$ThStyle = "<option value="".$donnee[0]."">";

marche pas non plus....help :p

Hors ligne

 

#5 11-05-2005 07:02:00

kazhar
Ex-Webmaster
Lieu: Orléans
Date d'inscription: 25-06-2004
Messages: 3381
Site web

Re: probleme de requete sql

dsl, j'avai pas vu l'ouverture de la balise :?
peux-tu copier ici l'erreur complete
ainsi que la requete sql telle qu'elle est envoyée au serveur (fais un echo de la variable)

Hors ligne

 

#6 19-05-2005 09:47:14

le_big_noob
Membre
Date d'inscription: 10-05-2005
Messages: 20

Re: probleme de requete sql

merci a toi kazhar!! j'ai réussi a solutionner ce probleme et maintenant tout marche correctement...enfin pour ça

apres j'ai d'autre probleme, je vais en faire part sur le forum, je tenais a te remercier de ton aide.@ bientot

Hors ligne