Moteur de recherche interne

Fermé
fofo73 Messages postés 295 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 28 mai 2011 - 24 juin 2009 à 18:07
fofo73 Messages postés 295 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 28 mai 2011 - 7 juil. 2009 à 10:15
Bonjour,
j'aimerais creer un moteur de recherche dur mon site pour les balises:
exemple la personne marque la balise <body> et sa marque la definition
A voir également:

2 réponses

bg62 Messages postés 23661 Date d'inscription samedi 22 octobre 2005 Statut Modérateur Dernière intervention 30 novembre 2024 2 389
24 juin 2009 à 20:31
0
fofo73 Messages postés 295 Date d'inscription vendredi 8 mai 2009 Statut Membre Dernière intervention 28 mai 2011 8
7 juil. 2009 à 10:15
je voulais un moteur de recherche interne et j'ai trouvé sur le site du zero (c'est en mysql):
dans une page rechercher.php il y a :
<?
if(isset($_POST['requete']) && $_POST['requete'] != NULL) // on vÚrifie d'abord l'existence du POST et aussi si la requete n'est pas vide.
{
mysql_connect('adresse','utilisateurs','mdp');
mysql_select_db('fofo77_fofo73'); // on se connecte Ó MySQL. Je vous laisse remplacer les diffÚrentes informations pour adapter ce code Ó votre site.
$requete = htmlspecialchars($_POST['requete']); // on crÚe une variable $requete pour faciliter l'Úcriture de la requÛte SQL, mais aussi pour empÛcher les Úventuels malins qui utiliseraient du PHP ou du JS, avec la fonction htmlspecialchars().
$query = mysql_query("SELECT * FROM Balises WHERE Nom LIKE '%$requete%' ORDER BY id DESC") or die (mysql_error()); // la requÛte, que vous devez maintenant comprendre ;)
$nb_resultats = mysql_num_rows($query); // on utilise la fonction mysql_num_rows pour compter les rÚsultats pour vÚrifier par aprÞs
if($nb_resultats != 0) // si le nombre de rÚsultats est supÚrieur Ó 0, on continue
{
// maintenant, on va afficher les rÚsultats et la page qui les donne ainsi que leur nombre, avec un peu de code HTML pour faciliter la tÔche.
?>
<h3>RÚsultats de votre recherche.</h3>
<p>Nous avons trouvÚ <? echo $nb_resultats; // on affiche le nombre de rÚsultats
if($nb_resultats > 1) { echo ' rÚsultats '; } else { echo ' rÚsultat '; } // on vÚrifie le nombre de rÚsultats pour orthographier correctement.
?>
dans notre base de donnÚes. Voici les fonctions que nous avons trouvÚes :<br/>
<br/>
<?
while($donnees = mysql_fetch_array($query)) // on fait un while pour afficher la liste des fonctions trouvÚes, ainsi que l'id qui permettra de faire le lien vers la page de la fonction
{

?>
<a href="fonction.php?Id=<? echo $donnees['Id']; ?>"><? echo $donnees['Nom']; ?></a><br/>
<?
} // fin de la boucle
?><br/>
<br/>
<a href="rechercher.php">Faire une nouvelle recherche</a></p>
<?
} // Fini d'afficher les rÚsultats ! Maintenant, nous allons afficher l'Úventuelle erreur en cas d'Úchec de recherche et le formulaire.
else
{ // de nouveau, un peu de HTML
?>
<h3>Pas de rÚsultats</h3>
<p>Nous n'avons trouvÚ aucun rÚsultat pour votre requÛte "<? echo $_POST['requete']; ?>". <a href="rechercher.php">RÚessayez</a> avec autre chose.</p>
<?
}// Fini d'afficher l'erreur ^^
mysql_close(); // on ferme mysql, on n'en a plus besoin
}
else
{ // et voilÓ le formulaire, en HTML de nouveau !
?>
<p>Pour rechercher des balises html taper les dans le champs en dessous</p>
<form action="rechercher.php" method="Post">
<input type="text" name="requete" size="10">
<input type="submit" value="Ok">
</form>
<?
}
// et voilÓ, c'est fini !
?>
et dans une page fonction.php:
<html>
<head>
<script language="javascript" type="text/javascript">
<!--
couleur = new Array ("#FF0000", "#FFFF00", "#00FF00", "#00FFFF", "#0000FF", "#FF00FF");
var a=0;
function change_coul()
{
Titre=document.getElementById("titre");
Titre.style.color=couleur[a];
a++;
if(a>5) a=0;
}
function interval_coul()
{
interval=setInterval("change_coul()",200);
}
//-->
</script>
<SCRIPT LANGUAGE="Javascript">
function show()
{
if(document.getElementById)
{
tabler = document.getElementById('table');
if(tabler.style.display=="none")
{
document.getElementById('plus').innerHTML = 'fermer l\'exemple';
tabler.style.display="";
}
else
{
document.getElementById('plus').innerHTML = 'exemple';
tabler.style.display="none";
}
}
}
</script>
<style>
.decoration{
text-decoration:none;
}
</style>
</head>
<body onload="interval_coul()" onUnload="window.clearInterval(interval)" >
</body>
</html>
<?
mysql_connect('adresse','utilisateurs','mdp');
mysql_select_db('fofo77_fofo73'); // on se connecte Ó MySQL. Je vous laisse remplacer les diffÚrentes informations pour adapter ce code Ó votre site.
$requete = $_GET['Id'];; // on crÚe une variable $requete pour faciliter l'Úcriture de la requÛte SQL, mais aussi pour empÛcher les Úventuels malins qui utiliseraient du PHP ou du JS, avec la fonction htmlspecialchars().
$query = mysql_query("SELECT * FROM Balises WHERE Id LIKE '%$requete%' ORDER BY id DESC") or die (mysql_error()); // la requÛte, que vous devez maintenant comprendre ;)
$nb_resultats = mysql_num_rows($query); // on utilise la fonction mysql_num_rows pour compter les rÚsultats pour vÚrifier par aprÞs

// maintenant, on va afficher les rÚsultats et la page qui les donne ainsi que leur nombre, avec un peu de code HTML pour faciliter la tÔche.



while($donnees = mysql_fetch_array($query)) // on fait un while pour afficher la liste des fonctions trouvÚes, ainsi que l'id qui permettra de faire le lien vers la page de la fonction
{
?><center><font color="ff0000" size="16"><b><u><? echo $donnees['Nom']?><br><br><br><br></center></font></b></u>
<?
echo $donnees['Utilisation']?><br><br>
<a href="#" onClick="show();return(false)" id="plus" >exemple</a>
<div id="table" style="display:none">
<?
echo $donnees['Exemple']
?>
</div>
<?
}
?><br/>
<br/>
<a href="rechercher.php">Faire une nouvelle recherche</a></p>
voila aller voir sur mon site sa fonctionne
http://fofo77.olympe-network.com/florian/intro.html
0