amelioration script recherche
Posté : 19 janv. 2007, 10:12
Bonjour,
j'avais fait il y a quelque temps, et avec votre aide... un petit script de recherche dans une bdd.
j'ai aussi un probleme de concatenation dans ce code :
pour une recherche "windows xp" je n'est pas de resultat, parcontre sur "windowsxp" la j'ai des resultats... une idée pour corriger ca?
merci d'avance
j'avais fait il y a quelque temps, et avec votre aide... un petit script de recherche dans une bdd.
<?php
require("config.inc.php");
$search=$_POST['rech'];
$table = "liste_video";
$c = @mysql_connect($host,$username,$password) or die("connection impossible");
@mysql_select_db("$bdd_name",$c) or die("selection impossible");
$result = mysql_query("SELECT count(id) FROM `".$table."` WHERE valid = 1 AND (concat(logiciel, version_log) LIKE '%".$search."%' OR concat(os, version_os) LIKE '%".$search."%' OR `description` LIKE '%".$search."%' OR `nom` LIKE '%".$search."%') ") or die("selection impossible") ;
$ret = mysql_fetch_array($result) or die("selection impossible");
// nombre de lignes
$nb_results = $ret[0];
if ($nb_results<=0 OR empty($search)) {
if (empty($search)) {
echo "<p class='texte'>Pas de recherche à effectuer.<br><br>";
} else {
echo "<p class='texte'>Il y a <b>$nb_results</b> résultats à votre recherche. Recommencez avec un seul mot...<br><br>";
}
} else {
echo "<p class='texte'>Il y a <b>$nb_results</b> résultats à votre recherche.<br><br>";
$sql = "select * FROM `".$table."` WHERE valid = 1 AND (concat(logiciel, version_log) LIKE '%".$search."%' OR concat(os, version_os) LIKE '%".$search."%' OR `description` LIKE '%".$search."%' OR `nom` LIKE '%".$search."%') order by id DESC" or die("selection impossible");
if($p = @mysql_query($sql,$c)){
while($r = @mysql_fetch_array($p)){
$id = "$r[id]";
$nom = "$r[nom]";
echo $nom.'<br>';
}
}
}
// deconnection de la BDD
mysql_close();
?>
on m'avait suggerer d'ameliorer ma recherche avec php. Je n'ai aucune idée de quoi faire pour ameliorer ma recherche en php... est ce que quelqu'un peut m'aiguiller ?j'ai aussi un probleme de concatenation dans ce code :
pour une recherche "windows xp" je n'est pas de resultat, parcontre sur "windowsxp" la j'ai des resultats... une idée pour corriger ca?
merci d'avance