Barre de recherche par rapport au title

[Fermé]
Signaler
-
Messages postés
33149
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 juillet 2021
-
Bonjour,

J'aimerais faire un bouton de recherche sur mon site et qui trouverait les pages à afficher par rapport au title de la page et aussi pourquoi pas au dossier

Par exemple ma page s'appelle : Profil de Paul - Histoire
et qu'il se trouve dans le dossier membre
On pourrait écrire "membre", "Profil", "Paul" pour trouver cette page


Merci de votre aide,

Paul

1 réponse

Messages postés
2231
Date d'inscription
samedi 25 octobre 2014
Statut
Membre
Dernière intervention
22 février 2020
1 876
Bonjour

je ne sais pas si çà va vopus aidre mais je ne sais pas faire autrement

Dans votre page vous coller ce code
<?php
echo "<form method=\"get\" action=\"resultat_page.php\">\n";
echo " <tr><td>    </td><td><input type=\"hidden\" name =\"user\"        value=\"Paul\" /></td></tr>\n";
echo " <tr><td>    </td><td><input type=\"hidden\" name =\"categorie\"   value=\"Histoire\" /></td></tr>\n";
echo " <tr><td>   </td><td><input type=\"submit\" name=\"recherche\" id=\"recherche\" value=\"Recherche les pages\" /> </td></tr>\n";
echo "</form>\n";
?>


NB pour chaque information que vous voulez passer dans le filtre pour la re"cherche il faut mettre une ligne comme celle-ci
echo " <tr><td> </td><td><input type=\"hidden\" name =\"user\" value=\"Paul\" /></td></tr>\n";

hidden signifie que la ligne est cachée (les visiteurs du site ne peuvent pas la voir.

Ensuite dans la page où on effectue la requête sql pour recupérer la liste des pages correspondantes aux filtres.
On colle le code ci-dessous

<?php
if(isset($_REQUEST["nom_chevalier"   ])) {$user = $_REQUEST["user"   ];}
else {$user = "";}
if(isset($_REQUEST["categorie"  ])) {$categorie     = $_REQUEST["categorie"   ];}
else {$categorie     = "";}
?>


Maintenant, on fait la requête SQL, admettons que les noms des pages soient dans la table Pages
<?php
$query      = "SELECT nom, adresse";
$query      = "FROM Pages";
$query      = "WHERE nom Like '%nom%'
$query      = "or  nom Like '%categorie%'";
esult = execute_query($query);
display_table_themes($result);

//pour afficher le resultat
function display_table_themes($result) {
 echo "<table border=1>\n";
 //HEADER ROW
 echo "<tr>\n";
 echo " <th width=600>Pages     </th>\n";
 echo " <th width=200>Adresse</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";
?>



EDIT : Ajout du LANGAGE dans les balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
1
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
33149
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
30 juillet 2021
3 641
Bonjour DelNC,

Tu feras attention, il semble qu'il y ait quelques erreurs de syntaxe dans le code que tu as proposé.

Ensuite ... tu utilises l'ancienne extension Mysql .... considérée comme obsolète.
Il serait temps de passer à mysqli ou (je préfère...) à la PDO.


et enfin..... tu proposes une solution s'appuyant sur une base de données.... hors, en lisant la question de Paul j'ai plus l'impression qu'il cherche des pages "physiques" ....