Un moteur de recherche

INTEGER Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
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

DelNC Messages postés 2234 Date d'inscription   Statut Membre Dernière intervention   2 004
 
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
Nxl Messages postés 1038 Date d'inscription   Statut Membre Dernière intervention   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
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