Moteur de recherche interne a mettre sur mon

Fermé
jumpai Messages postés 67 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 25 novembre 2015 - 18 déc. 2011 à 14:28
jumpai Messages postés 67 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 25 novembre 2015 - 19 déc. 2011 à 07:17
Bonjour, a toute l'equipe de commentcamarche .Voila j'ai installer un moteur de recherche interne en PHP sur le site que je suis en train de travailler en local .j'ai intituler plusieur page pour faire un essais avec la recherche en tapant le nom d'une page exemple (action)
et ca ne marche pas est ce normal ou pas voici mon probleme
entre temp je l'est desinstaller et mis cette fois ci un moteur de recherche en html toujour pour aller sur une page de mon site ou en tapant un titre genre le film thor et rien si vous pouviez m'aider se serai vraiment cool je vous remercie d'avance jumpai



A voir également:

2 réponses

Shymon Messages postés 145 Date d'inscription samedi 9 février 2008 Statut Membre Dernière intervention 25 novembre 2012 58
19 déc. 2011 à 03:37
essaye de rajouter un ; au milieu :D

Non plus sérieusement, comment veux-tu que quelqu'un t'aide : pas de code, pas de détail, ...

Shymon
0
jumpai Messages postés 67 Date d'inscription vendredi 14 août 2009 Statut Membre Dernière intervention 25 novembre 2015
19 déc. 2011 à 07:17
bonjour et merci pour votre reponse ci dessous je vous mets le script

<?php

mysql_connect("", "", ""); //connexion à la BDD
mysql_select_db("");

if (isset($_POST['rechercher'])) //si on a validé le formulaire
{
$recherche = mysql_real_escape_string(htmlspecialchars($_POST['recherche'])); //sécurisation des variables
$mode = mysql_real_escape_string(htmlspecialchars($_POST['mode']));

if (isset($_POST['sujets_fermes'])) //si on a coché la case
{
$sujets_fermes = "AND ferme='1'";
}
else //si on ne l'a pas cochée
{
$sujets_fermes = '';
}

if ($mode == "tous_les_mots")
{
$and_ou_or = 'AND'; //on utilisera AND dans la boucle
}
else
{
$and_ou_or = 'OR'; //on utilisera OR dans la boucle
}

if ($mode == "expression_exacte") //si le mode de recherche est par expression exacte
{
$selection_recherche = mysql_query("SELECT * FROM recherche WHERE titre LIKE '%$recherche%' $sujets_fermes ORDER BY id DESC");
}
else //si le mode de recherche n'est pas par expression exacte
{
$mots = explode(" ", $recherche); //séparation des mots
$nombre_mots = count ($mots); //comptage du nombre de mots
$valeur_requete = '';

for($nombre_mots_boucle = 0; $nombre_mots_boucle < $nombre_mots; $nombre_mots_boucle++) //tant que le nombre de mots de la recherche est supérieur à celui de la boucle, on continue en incrémentant à chaque fois le nombre de mots
{
$valeur_requete .= '' . $and_ou_or . ' titre LIKE \'%' . $mots[$nombre_mots_boucle] . '%\''; //modification de la variable $valeur_requete
}

$valeur_requete = ltrim($valeur_requete,$and_ou_or); //suppression de AND ou de OR au début de la boucle
$selection_recherche = mysql_query("SELECT *
FROM recherche
WHERE $valeur_requete $sujets_fermes ORDER BY id DESC"); //requête contenant le résultat de la boucle
}

$nombre_resultats = mysql_num_rows($selection_recherche); //comptage du nombre d'entrées sélectionnées par la recherche

if ($nombre_resultats == 0) //s'il n'y a pas de résultat
{
echo 'Aucun résultat. <a href="recherche.php">Recommencer</a>';
}
else //il y a au moins un résultat
{
echo 'Nombre de résultats : ' . $nombre_resultats . ':<br /><br />'; //nombre de résultats

while($resultats = mysql_fetch_array($selection_recherche) ) //boucle affichant les résultats
{
echo '<strong>Numéro :</strong> ' . $resultats['id'] . '<br />
<strong>Titre :</strong> ' . $resultats['titre'] . '<br />
<strong>Fermé :</strong> ' . $resultats['ferme'] . '<br /><br />';
}

echo '<a href="recherche.php">Recommencer</a>';
}
}
else //si on n'a pas validé le formulaire, on l'affiche
{
?>

<form method="post" action="recherche.php">
<div>
Votre recherche :
<input type="text" name="recherche" />
<br />

Votre mode de recherche :
<select name="mode">
<option value="expression_exacte">Expression exacte</option>
<option value="tous_les_mots">Tous les mots</option>
<option value="un_mot">Au moins un mot</option>
</select>
<br />

Sélectionner uniquement les sujets fermés :
<input name="sujets_fermes" type="checkbox" />
<br />

<input type="submit" value="Rechercher" name="rechercher" />
</div>
</form>

<?php
}

mysql_close(); //déconnexion de la BDD

?>
0