Un moteur de recherche

Fermé
INTEGER Messages postés 1 Date d'inscription mardi 27 octobre 2015 Statut Membre Dernière intervention 27 octobre 2015 - 27 oct. 2015 à 02:28
tatsuyad Messages postés 74 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 3 avril 2016 - 2 nov. 2015 à 08:32
bjr,
quelle est la démarche à suivre pour créer un petit moteur de recherche avec php?
A voir également:

2 réponses

DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 2 002
28 oct. 2015 à 11:36
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 mardi 2 février 2010 Statut Membre Dernière intervention 5 janvier 2017 133
27 oct. 2015 à 12:12
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 74 Date d'inscription mercredi 3 juin 2015 Statut Membre Dernière intervention 3 avril 2016
2 nov. 2015 à 08:32
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