par
regne » 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.
<?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
Bonjour,
j'avais fait il y a quelque temps, et avec votre aide... un petit script de recherche dans une bdd.
[php]<?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();
?>[/php]
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