parmysql_free_result($results);
, c'est tout, non ?mysql_close();
PS : pas d'amélioration avec "mysql_close();"<?php // on inlut le fichier de config (nom de base, etc) // il faut modifier ce fichier d'apres l'hebergeur... include("etc/config.php"); // ce fichier crée la connexion a la base MySQL ($mysql_link) include("inc/mysql_connexion.php"); //teste si on passe en parametre d'URL une page... (http://.../index.php?page=accueil) //si pas de page definie page=accueil (par defaut) if(!isset($_GET['page'])) $_GET['page']='accueil'; // on enleve les espaces devant et derriere pour la recherche... if (isset($_GET['recherche'])) $_GET['recherche']=trim($_GET['recherche']); // crée la requete qui recupère les donnée d'une page dans la table bn_page grace a l'identifiant $query="select * from bn_page where id='$_GET[page]'"; // select * from bn_page where id='page' par ex... // NB : pour l'identifant de page n'utiliser que les caracteres [a-z0-9] (pas d'espace, pas d'accents) // execution de la requete... $results=mysql_query($query,$mysql_link); // on recupere l'enregistrement dans la variable $page $page=mysql_fetch_assoc($results); // maintenant page est un tableau associatif dont les elements correspondent aux champs de la table bn_page // $page['id'] l'identifiant de page (?page=acceuil par ex) // $page['titre_entete'] le <title> dans <head> // $page['titre'] titre complet // $page['gauche'] le code du cadre de navigation // $page['droite'] le code du cadre détail // $page['mots_cles'] pour que la recherche marche bien faut que les mots soient séparés par des espace des . etc mais pour ' ça marche pas donc << l'ensemble >> par ex ça marche pas... en plus les accents en entites HTML (é par ex) sont pas gérés... donc dans mots cles tu peux ajouter des mots cles que tu veux pour que la page sorte pour ce mot... // on fait le menage... mysql_free_result($results); // si il n'y a pas d'enregistrement pour cet identifiant, on a un probleme : erreur ! if(!$page) die("erreur : page '$_GET[page]' inexistante !"); // on pourrait faire un include() d'une page d'erreur plus propre... ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Titre - <?php // on affiche ce qu'il faut pour le titre... // ça vient de la base... :) echo $page["titre_entete"];?></title> <meta name="keywords" content="alex"> <meta name="description" content="Site."> <meta name="revisit-after" content="15 day"> <meta name="identifier-url" content="http://xxx.fr"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="fichier.css" rel="stylesheet" type="text/css"> </head> <body class style="margin-top: 0px; margin-bottom: 0px; margin-left: 0px; margin-right: 0px;"> <div class="global"> <div class="navi-h"><form class="form">Rechercher sur le site : <input type="hidden" name="page" value="recherche"> <input type="text" name="recherche" value="<? if (isset($_GET['recherche'])) echo $_GET['recherche']; ?>"> <input name="Submit" type="submit" id="bouton" value="Envoyer"> </form> </div> <div class="navi"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="862" height="30"> <param name="movie" value="images/navi.swf"> <param name="quality" value="high"> <embed src="images/navi.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="862" height="30"></embed> </object> </div> <div class="frame-g"><?php // on affiche le cadre de gauche echo $page["gauche"]; ?></div> <div class="frame-d"><?php // est-ce qu'il y a une recherche... if($_GET['page']=='recherche'&&isset($_GET['recherche'])&&$_GET['recherche']) { //on gere la recherche // requete qui utilise l'indexe FULLTEXT ?> <p class="titre" id="titre-h">Résultat(s) :</p> <?php $query="select * from bn_page where match(titre,titre_entete,gauche,droite,mots_cles) against ('".mysql_real_escape_string($_GET['recherche'])."*' in boolean mode)"; $results=mysql_query($query,$mysql_link); if(mysql_num_rows($results) == 0) { echo "La recherche a retourné 0 résultat(s)"; } else { // on recupere les enregistrements while($respage=mysql_fetch_assoc($results)) { // on affiche les resultats (faut travailler la présentation... ?><ul style="margin-left:15px; padding-left:15px;"> <li style="margin-bottom:-30px;" class="Style1"><a href="?page=<? echo $respage['id']; ?>"><? echo $respage['titre']; ?></li></ul><br> <?php } // on fait le menage... mysql_free_result($results); } ?></div> <div class="navi-b"></div> </div> </body> </html>
Code : Tout sélectionner
if($_GET['page']=='recherche'&&isset($_GET['recherche'])&&$_GET['recherche'])
{