J'ai voulu créer un plugin OpenSearch pour mon site mais j'ai un problème. Je ne sais pas comment faire ma base de données. Quelqu'un sait il comment faire??? Merci.
P.S.: -j'ai déjà une "mini" base de données pour mon microscopique moteur de recherche "xsearch". C'est un fichier .js. Sait-on le réutiliser? -navigateur: IE7
Re:opensearch
« Répondre #3 sur: le 26-03-2007 a 21:28:08 »
iowa
Invité
Je crois que tu ne saisit pas très bien ce qu'est un plugin OpenSearch, c'est ce qu'il y a en haut à droite dans firefox ou IE c'est juste un fichier xml qui dit ou renvoyer ce que l'utilisateur à taper. Le fichier doit pointer vers une interface PHP ( la tienne ) qui utilisera ta base de données.
Re:opensearch
« Répondre #7 sur: le 30-03-2007 a 23:47:39 »
iowa
Invité
Mais un Plugin Opensearch sert juste à dire : appelle la page situé sur ce serveur avec le paramètre la. Tu dois créer une page PHP sur ton hebergement pour exploiter la base
J'ai trouvé un script php qui recherche dans les documents la balise meta "keywords", qui stocke les mots-clés dans une base de données et qui les recherche ensuite dans celle-ci. Le script est le suivant:
Code:
<?php $host = "Votre serveur de base de données"; $user = "Votre nom d'utilisateur"; $password = "Votre mot de passe"; $bdd = "Votre base de données sur le serveur"; mysql_connect($host, $user, $password) or die ("Connexion au serveur impossible");
// selection base mysql_select_db($bdd) or die ("Connexion a la base impossible");
echo " <html>
<head>
<title>Résultat de la recherche</title>
</head>
<body>";
if (($Mot == "")||($Mot == "%")) { // Si aucun mot clé n'a été saisi, // le script demande à l'utilisateur // de bien vouloir préciser un mot clé
echo " Veuillez entrer un mot clé s'il vous plaît! <p>";
}
else { // On selectionne les enregistrements contenant le mot clé // dans les keywords ou le titre $query = "SELECT distinct count(lien) FROM search WHERE keyword LIKE \"%$Mot%\" OR titre LIKE \"%$Mot%\" ";
$result = mysql_query($query);
$row = mysql_fetch_row($result);
$Nombre = $row[0];
// Si aucun enregistrement n'est retourné, // on affiche un message adéquat if ($Nombre == "0") { echo " <h2>Aucun résultat ne correspond à votre recherche</h2>
<p>
";
}
// Sinon, on affiche le nombre d'enregistrements correspondant // et les résultats eux-mêmes else { $query = "SELECT distinct lien,keyword,titre FROM search WHERE keyword LIKE \"%$Mot%\" OR titre LIKE \"%$Mot%\" ORDER by titre ASC";
$result = mysql_query($query);
// Si un seul enregistrement est trouvé, on affiche un message au singulier if ($Nombre == "1") { echo " <a name=\"#resultat\"><h2>Résultat: Un article trouvé</h2></a>
<p>";
} // Dans le cas contraire le message est au pluriel... else { echo " <a name=\"#resultat\"><h2>Résultat: $Nombre articles trouvés</h2></a>