Partage
  • Partager sur Facebook
  • Partager sur Twitter

Barre de recherche

    13 février 2019 à 13:19:07

    Bonjour, j'ai un soucis. J'essaie de faire une barre de recherche, mais quand j'écris le resultats ca ne me retourne rien....

    pour l'instant je l'es fait que pour l'espace membre. ci dessous je vous envoie le code pour que si quelqu'un peut m'aider a résoudre le probleme.

    <?php
    $resultats = "";

    //traite la requete,,, si l'utilisateur a entré quelque chose
    if (isset($_POST['query']) && !empty($_POST['query'])) {
        //on rend clean la requete de l'utilisateur
        $query = preg_replace("#[^a-z ?0-9]#i", "", $_POST['query']);
       

        if ($_POST['filtre'] == "Distributeur") {
           
        } else if($_POST['filtre'] == "Membre"){
            $sql = "SELECT prenom, nom AS nom FROM fiche_personne LEFT JOIN membre ON  membre.id_membre=fiche_personne.id_perso";


        } else if($_POST['filtre'] == "Genre de film"){
            $sql = "SELECT titre, nom AS titre FROM film LEFT JOIN genre ON  genre.id_genre=film.id_genre";
        }
    //connexion de la base de données
        include("connect_db.php");

        $req = $db->prepare($sql);
        $req->execute(array('%' .$query. '%', '%' .$query. '%' ));
        $count = $req->rowCount();

        if ($count >= 1) {
            }else{
            echo "<hr/> 0 résultats trouvé pour<strong> $query</strong> <hr/> $sql ";
        }
    }
    ?>
    <!DOCTYPE html>
    <html>
    <head>
        <title>Moteur recherche</title>
        <meta charset="utf-8">
    </head>
    <body>

        <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
            <label for="query"> Entrez votre recherche</label>
            <input type="search" name="query" maxlength="80" size="25" id="query" />
            Rechercher
            <select name="filtre">
                <option value="Distributeur">Distributeur</option>
                <option value="Membre">Membre</option>
                <option value="Genre de film">Genre de film</option>
            </select></br>
            <input type="submit" value="Rechercher">
        </form>
        <?php echo $resultats ; ?>
    </body>
    </html>

    • Partager sur Facebook
    • Partager sur Twitter
      13 février 2019 à 22:21:57

      Illisible utilise la balise code du forum pour formater ton code correctement pour le confort des utilisateurs.
      • Partager sur Facebook
      • Partager sur Twitter
      Vous ne pouvez pas comprendre la récursivité sans avoir d’abord compris la récursivité
        13 février 2019 à 23:51:31

        <?php
        $resultats = "";
        
        //traite la requete,,, si l'utilisateur a entré quelque chose
        if (isset($_POST['query']) && !empty($_POST['query'])) {
            //on rend clean la requete de l'utilisateur
            $query = preg_replace("#[^a-z ?0-9]#i", "", $_POST['query']);
           
        
            if ($_POST['filtre'] == "Distributeur") {
               
            } else if($_POST['filtre'] == "Membre"){
                $sql = "SELECT prenom, nom AS nom FROM fiche_personne LEFT JOIN membre ON  membre.id_membre=fiche_personne.id_perso";
        
        
            } else if($_POST['filtre'] == "Genre de film"){
                $sql = "SELECT titre, nom AS titre FROM film LEFT JOIN genre ON  genre.id_genre=film.id_genre";
            }
        //connexion de la base de données
            include("connect_db.php");
        
            $req = $db->prepare($sql);
            $req->execute(array('%' .$query. '%', '%' .$query. '%' ));
            $count = $req->rowCount();
        
            if ($count >= 1) {
                }else{
                echo "<hr/> 0 résultats trouvé pour<strong> $query</strong> <hr/> $sql ";
            }
        }
        ?>
        <!DOCTYPE html>
        <html>
        <head>
            <title>Moteur recherche</title>
            <meta charset="utf-8">
        </head>
        <body>
        
            <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
                <label for="query"> Entrez votre recherche</label>
                <input type="search" name="query" maxlength="80" size="25" id="query" />
                Rechercher
                <select name="filtre">
                    <option value="Distributeur">Distributeur</option>
                    <option value="Membre">Membre</option>
                    <option value="Genre de film">Genre de film</option>
                </select></br>
                <input type="submit" value="Rechercher">
            </form>
            <?php echo $resultats ; ?>
        </body>
        </html>
        Merci pour l'astuce :)
        • Partager sur Facebook
        • Partager sur Twitter
          14 février 2019 à 0:08:17

          Bonsoir,

          Ils sont où les marqueurs dans les requêtes ?

          Pour info, il est inutile de faire un isset (ligne 5) quand tu fais un empty sur la même ligne car la fonction isset est incluse dans la fonction empty. Donc !empty() suffit.

          • Partager sur Facebook
          • Partager sur Twitter
            14 février 2019 à 0:46:15

            Ah oui j'ai oublié de préciser quand je met $_POST a la place de $_SERVER['PHP_SELF'] ligne 40.

            la page devient toute blanche et ca m'écris

            Objet non trouvé!

            L'URL demandée n'a pas pu être trouvée sur ce serveur. La référence sur la page citée semble être erronée ou perimée. Nous vous prions d'informer l'auteur de cette page de cette erreur.

            Si vous pensez qu'il s'agit d'une erreur du serveur, veuillez contacter le webmestre.

            autrement dit quand je laisse tel le code sans change le $_SERVER et que j'essaie de chercher quelques chose en choisissant l'onglet membre sa ne change rien à la page.

            C'est quoi les marqueurs?

            Du coup tu pense je peux faire quoi pour que ca me trouve ce que je veux?

            -
            Edité par DenisSavinov1 14 février 2019 à 0:48:25

            • Partager sur Facebook
            • Partager sur Twitter
              14 février 2019 à 1:43:00

              Puisque tu rediriges sur la même page, autant ne rien mettre dans "action"
              • Partager sur Facebook
              • Partager sur Twitter
                14 février 2019 à 16:29:33

                Aurélien.C a écrit:

                Puisque tu rediriges sur la même page, autant ne rien mettre dans "action"


                Please, ne pas pousser les débutants à produire du code qui ne respecte pas les standards surtout quand (c'est assez rare), il les respectent.

                • The action and formaction content attributes, if specified, must have a value that is a valid non-empty URL potentially surrounded by spaces.
                • A string is a valid non-empty URL potentially surrounded by spaces if, after stripping leading and trailing ASCII whitespace from it, it is a valid non-empty URL.
                • A string is a valid non-empty URL if it is a valid URL string but it is not the empty string.
                Cf : [RFC3986]
                • Partager sur Facebook
                • Partager sur Twitter
                Vous ne pouvez pas comprendre la récursivité sans avoir d’abord compris la récursivité
                  15 février 2019 à 11:18:47

                  J'ai trouvé je crois merci Aurélien C. ,,, Mamashi tu parle mais voila,, personne me pousse a faire quoi que ce soit c'est un projet que je dois faire c'est pour ca

                  • Partager sur Facebook
                  • Partager sur Twitter
                    15 février 2019 à 17:27:24

                    DenisSavinov1 a écrit:

                    J'ai trouvé je crois merci Aurélien C. ,,, Mamashi tu parle mais voila,, personne me pousse a faire quoi que ce soit c'est un projet que je dois faire c'est pour ca


                    Je te défend en expliquant à l'appui que ne rien mettre dans action est une mauvaise pratique cotrairelcont à ce qu'il disait.. bref
                    • Partager sur Facebook
                    • Partager sur Twitter
                    Vous ne pouvez pas comprendre la récursivité sans avoir d’abord compris la récursivité
                      17 février 2019 à 18:30:31

                      okok merci =) du coup quelqu'un peut me donner la reponse ? XD
                      • Partager sur Facebook
                      • Partager sur Twitter

                      Barre de recherche

                      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                      • Editeur
                      • Markdown