Un moteur de recherche

INTEGER Messages postés 1 Statut Membre -  
tatsuyad Messages postés 75 Date d'inscription   Statut Membre Dernière intervention   -
bjr,
quelle est la démarche à suivre pour créer un petit moteur de recherche avec php?

2 réponses

  1. DelNC Messages postés 2360 Statut Membre 2 010
     
    Bonjour,

    pour faire un moteur de recherche vous avez besoin

    de vous connecter à la base de données
    <?php
    $BDD_ADRESSE = "mysql:host=127.0.0.1";
    $BDD_DBNAME = "MaBase";
    $BDD_LOGIN = "root";
    $BDD_PASSWORD = "";

    // connexion à la base de données
    try {
    $bdd = new PDO("$BDD_ADRESSE;dbname=$BDD_DBNAME", $BDD_LOGIN, $BDD_PASSWORD);
    } catch(Exception $e) {
    exit('Impossible de se connecter à la base de données.');
    }

    // exécution de la requête
    $resultat = $bdd->query($requete) or die(print_r($bdd->errorInfo()));
    ?>


    D'un formulaire pour récupérer les données pour la recherche
    <?php
    echo "<form method='post' action='research_page.php'> \n";
    echo " <table class=\"green\"> \n";
    echo " <tr><td> Mot clé 1 </td><td><input type='text' name='mot_un'> </td></tr> \n";
    echo " <tr><td> Mot clé 2 </td><td><input type='text' name='mot_deux> </td></tr> \n";
    echo " <tr><td> </td><td><input type='submit'> </td></tr> \n";
    echo " </table> \n";
    echo "</form> \n";

    ?>


    Dans la page research_page.php, on va récupérer les données
    if(isset($_REQUEST["mot_un" ])) {$mot_un = $_REQUEST["mot_un" ];}
    else {$mot_un = "";}
    if(isset($_REQUEST["mot_deux" ])) {$mot_deux = $_REQUEST["mot_deux" ];}
    else {$mot_deux = "";}


    Ensuite faire une requête sql
    $query      = "SELECT colonne1, colonne2, ... ";
    $query .= "FROM maTable ";
    $query .= "WHERE colonne1 = '$mot_un' ";
    $query .= "or colonne2 = '$mot_deux' ";
    $query .= "; ";
    $result = execute_query($query);
    display_table_resultat ($result);

    NB dans mon exemple je mets que dans la requête on recherche le premier mot clé dans une colonne et le deuxième dans une autre.
    Mais c'est possible qu'ils soient dans la même colonne
    Vous pouvez aussi faire en sorte que ce n'est pas le mot exact que vous recherchez.
    Exemple si vous recherchez le mot cependant mais que avez mis pendant dans le mot clé 1
    il faut mettre '%$mot_un%' à la place de '$mot_un'

    Enfin on affichera les données
    function display_table_resultat($result) {
    echo "<table border=1>\n";
    //HEADER ROW
    echo "<tr>\n";
    echo " <th width=150> Colonne1 </th>\n";
    echo " <th width=150> Colonne2 </th>\n";
    ...
    echo "</tr>\n";
    //DATA ROWS
    while($row = mysql_fetch_array($result)) {
    echo "<tr>\n";
    echo " <td class=\"center\">" . $row[0] . "</td>\n";
    echo " <td class=\"center\">" . $row[1] . "</td>\n";
    ...
    echo "</tr>\n";
    }//end while
    echo "</table>\n";
    }//end function


    Voilou !
    0
  2. Nxl Messages postés 1257 Statut Membre 133
     
    Sérieusement ?
    Tu penses vraiment qu'il y a un guide genre "apprenez à coder Google en moins de 24h !"
    Sinon pour quelque chose de moins audacieux une recherche Google (justement) devrait te montrer les différentes possibilités pour rechercher dans une BDD ou autre avec PHP.
    -2
    1. tatsuyad Messages postés 75 Date d'inscription   Statut Membre Dernière intervention  
       
      Dis, en fait, apache et chrome, lequel est de plus grande taille ?
      En tout cas, félicitation de la passion de l'auteur de se lancer dans la
      création de système le plus robuste !!!!
      0