A voir également:
- Un moteur de recherche
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Google moteur de recherche page d'accueil - Guide
- Copernic moteur de recherche - Télécharger - Navigateurs
- Copernic Desktop Search - Télécharger - Utilitaires
- Rechercher ou entrer l'adresse 4 - recherche google ✓ - Forum Réseaux sociaux
2 réponses
Bonjour,
pour faire un moteur de recherche vous avez besoin
de vous connecter à la base de données
D'un formulaire pour récupérer les données pour la recherche
Dans la page research_page.php, on va récupérer les données
Ensuite faire une requête sql
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
Voilou !
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 !