Barre de recherche par rapport au title

Fermé
Utilisateur anonyme - 19 déc. 2015 à 21:07
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 - 20 déc. 2015 à 13:28
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

DelNC Messages postés 2234 Date d'inscription samedi 25 octobre 2014 Statut Membre Dernière intervention 22 février 2020 1 999
Modifié par jordane45 le 20/12/2015 à 13:23
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
jordane45 Messages postés 38144 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 21 avril 2024 4 650
20 déc. 2015 à 13:28
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" ....
0