Partage
  • Partager sur Facebook
  • Partager sur Twitter

MOTEUR DE RECHERCHE PERSONALISE

    21 septembre 2017 à 12:31:20

    Bonjour, 

    je souhaite créer un moteur de recherche uniquement sur ma base de donnée définie (pas comme google sur l'ensemble du web). 

    Je m'explique, j'ai une base de donnée à 2 colonnes ou un mot corresponds a un autre, 

    ex : Rouge associé à Bureau

    Bleu à Armoire

    Jaune à chaise 

    etc..

    Et si l'on tape dans la barre de recherche "ROUGE" la recherche nous donne "Bureau"

    etc.. 

    Comment faut il s'y prendre ? Pouvez vous m'éclairer la dessus ? 

    merci !

    • Partager sur Facebook
    • Partager sur Twitter
      21 septembre 2017 à 13:43:44

      Bonjour,

      Tu as une bdd Mysql ?

      Concrètement il te faudra faire une requête SQL dans une page PHP et afficher le résultat. As-tu vu les tutos de base ?

      • Partager sur Facebook
      • Partager sur Twitter
        21 septembre 2017 à 15:39:02

        philodick a écrit:

        Bonjour,

        Tu as une bdd Mysql ?

        Concrètement il te faudra faire une requête SQL dans une page PHP et afficher le résultat. As-tu vu les tutos de base ?


        J'ai des bases en HTML, malheureusement pas grand chose en PHP...
        • Partager sur Facebook
        • Partager sur Twitter
          21 septembre 2017 à 15:55:15

          Manque de bol, il faut du php pour ça :p

          Je t'invite à lire le cours PHP, ce que tu demandes, c'est extrêmement basique, tu devrais t'en sortir facilement. Au pire, il y a la section PHP sur le forum en cas de besoin !

          • Partager sur Facebook
          • Partager sur Twitter
          Si vous voulez de l'aide, postez votre code.
            26 septembre 2017 à 16:05:59

            Merci pour vos réponse, 

            J'ai donc créer ma base de donnée via MySql. 

            J'ai créer une premiere page html pour le moteur de recherche : 

            <form action="moteur.php" method="post">

                <input type="text" name="mot">

                <input type="submit" name="form" value="Rechercher">

            </form>

            Qui va ensuite chercher dans ma base de donnée (c'est la que ca coince) : 

            <?php 

            // on se connecte à MySQL 

            $db = mysql_connect('localhost', 'root', 'root'); 

            // on sélectionne la base 

            mysql_select_db('QUIDISTRIB',$db); 

            // on crée la requête SQL 

            $sql = 'SELECT label,distribfr,s FROM DISTRIB_tbl'; 

            // on envoie la requête 

            $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); 

            // on fait une boucle qui va faire un tour pour chaque enregistrement 

            while($data = mysql_fetch_assoc($req)) 

                { 

                // on affiche les informations de l'enregistrement en cours 

                echo '<b>'.$data['LABEL'].' '.$data['DISTRIB'].'</b> ('.$data['statut'].')'; 

                } 

            // on ferme la connexion à mysql 

            mysql_close(); 

            ?> 

            --------

            mais rien ...

            Des idées ? 

            • Partager sur Facebook
            • Partager sur Twitter
              26 septembre 2017 à 16:09:49

              Hormis le fait que tu utilises mysql_ et qu'on ne peut que t'encourager à utiliser PDO, ce que tu "selectionnes" et ce tu "affiches" n'a aucun lien :

              SELECT label,distribfr,s

              =>

              '.$data['LABEL'].' '.$data['DISTRIB'].'</b> ('.$data['statut'].'

              Quel est le rapport entre les deux ?

              • Partager sur Facebook
              • Partager sur Twitter
                26 septembre 2017 à 16:25:17

                J'ai modifié un code trouvé sur une page je dois l'avouer... compliquer pour moi tout ça ! 

                tu aurais une méthode pour arriver à mes fins ? 

                • Partager sur Facebook
                • Partager sur Twitter
                  26 septembre 2017 à 16:33:12

                  Je pense qu'il faudrait que tu vois le tuto général PHP, il faut que tu apprennes à utiliser un formulaire, puis à faire un requête et récupérer les résultats de cette requête.

                  Basmo t'a déjà donné le lien plus haut.

                  • Partager sur Facebook
                  • Partager sur Twitter
                    26 septembre 2017 à 16:35:19

                    bonjour,

                    et surtout, la requête ne contient aucun critère par rapport au mot saisi, elle sélectionne la totalité des enregistrements de la table, 
                    je modifierais ainsi :

                    $mot_saisi = $_POST['mot'];
                    $sql = "SELECT label,distribfr,statut FROM DISTRIB_tbl WHERE label = '$mot_saisi'";

                    en supposant que label est le mot en français ? et distribfr le mot correspondant ? 
                    sans la structure de la table MySQL difficile de proposer autre chose

                    Mais en tout cas, il faut que la requête cherche l'enregistrement correspondant au mot saisi, non ?
                    Sinon elle ne set à rien

                    Mais quid des fautes d'orthographe ou de saisie ? 

                    Question subsidiaire : il s'agit de combien d'enregistrements ? 20 ? 100 ? 2000 ?

                    • Partager sur Facebook
                    • Partager sur Twitter
                      26 septembre 2017 à 21:56:41

                      Je découvre le PHP. 

                      J'ai une base de donnée à 2 colonnes. (et environ 500 lignes pour le moment)

                      Je souhaite que lorsque l'on tape le mot de la colonne de gauche, le moteur de recherche nous donne le mot qui y correspond dans la colonne de droite. Tout simplement. 

                      Ca a l'air tellement simple comme ca... mais je n'arrive pas à faire que mon moteur de recherche cherche dans la base de donnée et m'affiche le résultat... 

                      des idées ?

                      • Partager sur Facebook
                      • Partager sur Twitter
                        27 septembre 2017 à 9:26:17

                        Bonjour,

                        Je ne fais que répéter ce qui a déjà été dit mais interroger et sortir des enregistrements d'une base de données c'est un peu la base en PHP même en survolant le cours tu devrais obtenir ce que tu cherches.

                        1. Il faut transmettre au serveur ce que tu as entré dans ton input -> cours

                        et 2. Récupérer les données correspondantes dans ta base de données -> cours

                        • Partager sur Facebook
                        • Partager sur Twitter
                        Vous savez, moi je ne crois pas qu’il y ait de bonne ou de mauvaise situation. Moi, si je devais résumer ma vie aujourd’hui avec vous, je dirais que c’est d’abord des rencontres. Des gens qui m’ont tendu la main, peut-être à un moment où je ne pouvais pas, où j’étais seul chez moi. Et c’est assez curieux de se dire que les hasards, les rencontres forgent une destinée... Parce que quand on a le goût de la chose, quand on a le goût de la chose bien faite, le beau geste, parfois on ne trouve pas l’interlocuteur en face je dirais, le miroir qui vous aide à avancer. Alors ça n’est pas mon cas, comme je disais là, puisque moi au contraire, j’ai pu : et je dis merci à la vie, je lui dis merci, je chante la vie, je danse la vie... je ne suis qu’amour ! Et finalement, quand beaucoup de gens aujourd’hui me disent « Mais comment fais-tu pour avoir cette humanité ? », et bien je leur réponds très simplement, je leur dis que c’est ce goût de l’amour ce goût donc qui m’a poussé aujourd’hui à entreprendre une construction mécanique, mais demain qui sait ? Peut-être simplement à me mettre au service de la communauté, à faire le don, le don de soi...
                          27 septembre 2017 à 12:00:59

                          J'ajoute que tu peux tester des requêtes sans passer par le PHP, mais avec PHPMyAdmin, ou CocoaMySQL, que tu dois connaître et que tu as probablement utilisé pour créer la table à deux colonnes (ce n'est pas la base de données, juste une table de la base de données; une base de données contient un nombre indéfini de tables qui peuvent avoir des liens entre elles

                          • Partager sur Facebook
                          • Partager sur Twitter

                          MOTEUR DE RECHERCHE PERSONALISE

                          × 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