Recherche

Recherche - PHP - Programmation

Marsh Posté le 08-02-2003 à 19:07:13    

Je suis un débutant en PHP, et je suis en train de coder une recherche pour un site.
Il y a quelque chose qui cloche dans ce code mais je n'arrive pas à le résoudre aider moi si vous le pouvez.
Le fichier connect.php marche ainsi que la requête.
Le fichier recherche.php est appelé par la méthode POST du fichier recherche.html  
 
 
<?PHP
     require("./../connect.php" );
   
 
     echo"<B>Recherche pour le ville: Ville=" . $ville . "et pour le thème: Theme=" . $theme . "\n";
 
     if($ville=='Toutes villes';)
        $requete="SELECT VILLE.NomVille, BIBLIOTHEQUE.NomBibli, BIBLIOTHEQUE.RueBibli, BIBLIOTHEQUE.NomRueBibli, BIBLIOTHEQUE.CodePostalBibli, BIBLIOTHEQUE.CedexBibli, ARCHIVE.NomArchi, ARCHIVE.RueArchi, ARCHIVE.NomRueArchi, ARCHIVE.CodePostalArchi, ARCHIVE.CedexArchi, THEME.NomTheme, THEME.Qualificatif, PAGE.PageThemeDeb, PAGE.PageThemeFin, CONGRE.AnneeCongre"
    ."FROM BIBLIOTHEQUE, THEME TB, CONGRE CB, PAGE PB, VILLE BV, EST_ABORDER EB,ARCHIVE, THEME TA, CONGRE CA, PAGE PA, VILLE BA, EST_ABORDER AB"
    ."WHERE BIBLIOTHEQUE.NumVIlle = ("
    ."SELECT VB.NumVille"
    ."FROM VILLE"
    ." )"
    ."AND POSSEDE_A.NumBibli = BIBLIOTHEQUE.NumBibli"
    ."AND EB.NumTheme = ("
    ."SELECT THEME.NumTheme"
    ."FROM THEME"
    ."WHERE NomTheme LIKE '%theme%'"
    ." )"
    ."AND EB.NumTheme = TB.NumTheme"
    ."AND CB.AnneCongre = POSSEDE_B.AnneeCongre"
    ."AND CB.AnneeCongre = EB.AnneeCongre"
    ."AND PB.PageThemeDeb = EB.PageThemeDeb"
    ."AND ARCHIVE.NumVille = ("
    ."SELECT VILLE.NumVille"
    ."FROM VILLE.NumVille"
    ." )"
    ."AND POSSEDE_B.NumArchi = ARCHIVE.NumArchi"
    ."AND EA.NumTheme = ("
    ."SELECT THEME.NumTheme"
    ."FROM THEME"
    ."WHERE NomTheme LIKE '%theme%'"
    ." )"
    ."AND EA.NumTheme = TA.NumTheme"
    ."AND CA.AnneCongre = POSSEDE_A.AnneeCongre"
    ."AND CA.AnneeCongre = EA.AnneeCongre"
    ."AND PA.PageThemeDeb = EA.PageThemeDeb";
     else
        $requete="SELECT VILLE.NomVille, BIBLIOTHEQUE.NomBibli, BIBLIOTHEQUE.RueBibli, BIBLIOTHEQUE.NomRueBibli, BIBLIOTHEQUE.CodePostalBibli, BIBLIOTHEQUE.CedexBibli, ARCHIVE.NomArchi, ARCHIVE.RueArchi, ARCHIVE.NomRueArchi, ARCHIVE.CodePostalArchi, ARCHIVE.CedexArchi, THEME.NomTheme, THEME.Qualificatif, PAGE.PageThemeDeb, PAGE.PageThemeFin, CONGRE.AnneeCongre"
    ."FROM BIBLIOTHEQUE, THEME TB, CONGRE CB, PAGE PB, VILLE BV, EST_ABORDER EB,ARCHIVE, THEME TA, CONGRE CA, PAGE PA, VILLE BA, EST_ABORDER AB"
    ."WHERE BIBLIOTHEQUE.NumVIlle = ("
    ."SELECT VB.NumVille"
    ."FROM VILLE"
    ."WHERE VILLE.NomVille LIKE '%ville%';)"
    ."AND POSSEDE_A.NumBibli=BIBLIOTHEQUE.NumBibli"
    ."AND EB.NumTheme = ("
    ."SELECT THEME.NumTheme"
    ."FROM THEME"
    ."WHERE NomTheme LIKE '%theme%'"
    ." )"
    ."AND EB.NumTheme = TB.NumTheme"
    ."AND CB.AnneCongre = POSSEDE_B.AnneeCongre"
    ."AND CB.AnneeCongre = EB.AnneeCongre"
    ."AND PB.PageThemeDeb = EB.PageThemeDeb"
    ."AND ARCHIVE.NumVille = ("
    ."SELECT VILLE.NumVille"
    ."FROM VILLE.NumVille"
    ."WHERE VILLE.NomVille LIKE '%ville%'"
    ." )"
    ."AND POSSEDE_B.NumArchi = ARCHIVE.NumArchi"
    ."AND EA.NumTheme = ("
    ."SELECT THEME.NumTheme"
    ."FROM THEME"
    ."WHERE NomTheme LIKE '%theme%'"
    ." )"
    ."AND EA.NumTheme = TA.NumTheme"
    ."AND CA.AnneCongre = POSSEDE_A.AnneeCongre"
    ."AND CA.AnneeCongre = EA.AnneeCongre"
    ."AND PA.PageThemeDeb = EA.PageThemeDeb";
    ."AND EA.NumTheme = THEME.NumTheme"
    ."AND CA.AnneCongre = POSSEDE_B.AnneeCongre"
    ."AND CA.AnneeCongre = EA.AnneeCongre"
    ."AND PA.PageThemeDeb = EA.PageThemeDeb";
 
     $connexion = mysql_pconnect (SERVEUR, NOM, PASSE);
 
     if (!$connexion)
     {
      echo "Désolé, connexion à " . SERVEUR . "impossible\n";
      exit;
     }
 
     if (!mysql_select_db (BASE, $connexion))
     {
      echo "Désolé, accès à la base " . BASE . " impossible\n";
      exit;
     }
     mysql_select_db (BASE, $connexion);
     $resultat = mysql_query ($requete, $connexion);
     if ($resultat)
     {
      while ( ($sujet = mysql_fetch_object ($resultat)))
      {
               echo "<affichage du résultat>";
      }
     else
     {
      echo "<B>Erreur dans l'exécution de la requête.</B>";
      echo "<B>Message de MySQL:</B> " . mysql_error($connexion);
     }
   ?>
 [:spir]

Reply

Marsh Posté le 08-02-2003 à 19:07:13   

Reply

Marsh Posté le 08-02-2003 à 19:17:37    

Tu as oublié le principal : quel est le message d'erreur que tu as ? :D
 
Ah vu d'oeil sinon, il est possible que l'option php_flag register_globals de PHP soit à OFF, auquel cas tu ne peux pas appeller les variables ville et theme par $ville et $theme, mais par $_POST['ville'] et $_POST['theme'] :)

Reply

Marsh Posté le 09-02-2003 à 21:52:59    

Merci de ta réponse Core 666
 
Le message d'erreur d'Apache me signale:
"The requested method POST is not allowed for the URL ./recherche.php."
 
J'ai peut être mal configurer Apache, je le répète je suis un tout débutant. :sarcastic:  
 
Y a un autre souci c'est que la variable "Ville" est sélectionner par l'utilisateur par une liste de valeur auquel j'attribue un n°, voici le code:
 
"<FORM ACTION="recherche.php" METHOD=POST>
    <P>Recherché dans:
     <SELECT NAME='ville' SIZE=3>
      <OPTION VALUE=1 SELECTED>Toutes villes
      <OPTION VALUE=2>une ville
      ..."
Et j'ai beau cherché partout, je ne sai pas comment récupéré la variable saisie, tandis que le thème lui se sélectionne par un TextBox tout bête.
---------------
Voilà, d'avance merci de l'aide.
 

Reply

Marsh Posté le 10-02-2003 à 16:16:18    

Personne ne peut m'aider?

Reply

Marsh Posté le 11-02-2003 à 13:17:27    

ben c'est simple je me connecte sur apache.
->Là je suis a l'index
->puis je lance la recherche
->là je tombe sur le message d'Apache qui me dit que la méthode Post n'est pas accepté.
 

Reply

Marsh Posté le 11-02-2003 à 14:55:29    

Sorry,
en gros je lance bien comme tu dis:
http://127.0.0.1/
puis je suis le chemin pouraller à recherche.html
là je lance ma recherche, puis valide pour obtenir le résultat.
Le code est + haut.
Et là le message d'erreur que j'ai citer s'affiche.
Ma configuration doit surement être mauvaise, mais à la base je voulais surtout savoir s'y il n'y avait pas d'erreur dans la syntaxe que j'ai énoncé + haut.

Reply

Marsh Posté le 11-02-2003 à 19:02:05    

Le truc normal c'est à dire le chemin complet:

Reply

Marsh Posté le 11-02-2003 à 23:11:49    

Merci mille fois   :jap:   je vai jeter un coup d'oeil sérieux la dedans...
J'espère que je trouverais mon bonheur.
Sorry pour avoir eu du mal a te répondre mais ca me semblait tellement évident  :D  
Merci.

Reply

Marsh Posté le 11-02-2003 à 23:15:04    

Ca pourrait être des problème de droit d'accès mais je trouve ca bizarre...

Reply

Marsh Posté le 12-02-2003 à 11:25:18    

Tu as tout a fait raison!
 :)

Reply

Marsh Posté le 12-02-2003 à 11:25:18   

Reply

Marsh Posté le 12-02-2003 à 22:56:48    

Mais si quelqu'un trouve une erreur dans mon code, il ne faut pas hésiter a me le dire  :heink:  
 [:spir]

Reply

Marsh Posté le 12-02-2003 à 23:06:40    

Spir a écrit :

Mais si quelqu'un trouve une erreur dans mon code, il ne faut pas hésiter a me le dire  :heink:  
 [:spir]  


<FORM ACTION="recherche.php" METHOD=POST>
 
Il manque des guillemets autour de POST =>  
 
<FORM ACTION="recherche.php" METHOD="POST">  
 
Teste ça et tiens-nous au courant
 
Ton FORM est généré par un print en PHP ou directement écrit en HTML?


---------------
Je me disais justement ce matin qu'il me manquait quelque chose pour descendre les poubelles!!!
Reply

Marsh Posté le 12-02-2003 à 23:29:14    

renomme ton recherche.html en recherche.php et ca va roulaizzz
 
testé et approuvé a linstant ...
le pkoi, je suppose la config dapache, je suis en train de chercher.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed