Salut,
Rien de plus simple à faire qu'un script d'une fonction rechercher ?
Bas pas chez moi ^^
J'ai suivis le tuto à la lettre et j'ai pourtant une erreur, voici l'erreur:
'Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /mnt/159/sda/4/b/eagle.g/InFamouS/pages/search.php on line 33'
Voici le code:
<body>
<div id="search">
<?php
if(isset($_GET'search'])){
require "../config.php";
$search=$_GET'search'];
$s=explode(" ",$search);
$sql="SELECT * FROM news";
$i=0;
foreach($s as $mot){
if(strlen($mot)>4){
if($i==0){
$sql.=" WHERE ";
}
else{
$sql.=" OR ";
}
$sql.="contenu LIKE '% $mot %'";
$i++;
}
}
echo $sql."<br/>";
$req = mysql_query($sql) or die(mysql_error());
echo mysql_num_rows($req)." Résultat";
while($data=mysql_fetch_assoc($req)){
if(strlen($mot)>4){
echo "<h1>{$data"titre"]}</h1>";
$c=$data"contenu"];
foreach($s as $mot){
$c = str_ireplace($mot,'<span style=\"background:#f80; font-familly:Arial;\">'.$mot.'</span>',$c);
}
echo "<p>{$data"contenu"]}</p>";
echo "</br>";
}
echo "<p>{c}</p>";
}
}
else{
echo "Votre recherche n'a abouti à rien!";
}
?>
</div>
Pour ce qui veulent voir de plus près: http://eagle.g.free.fr/InFamouS/.
Comme vous pouvez le voir, je ne suis encore qu'un débutant !
Troll Spotted :/
(Réponse d'un anonyme :T'es un nul iEagle, va te pendre mec!
Réponse d'iEagle: Okey, okey, mais au moins, donne une petite réponse, stp ? Après j'irai me pendre =))
Merci d'avance.
Mr.l'Aigle
Erf :/
Le <u> et <strong> était pour mettre le caractère en gras pour que vous puissiez voir le problème ^^
Sauf que ça ne la pas mis en gras mais mis les balises :/
<?php
if(isset($_GET'search'])){
require "../config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
$search=$_GET'search'];
$s=explode(" ",$search);
$sql="SELECT * FROM news";
$i=0;
foreach($s as $mot){
if(strlen($mot)>3){
if($i==0){
$sql.=" WHERE ";
}
else{
$sql.=" OR ";
}
$sql.="contenu LIKE '% $mot %'";
$i++;
}
}
$req = mysql_query($sql) or die (mysql_error());
echo mysql_num_rows($req)." Résultat";
while($data=mysql_fetch_assoc($req)){
echo "<h1>{$data"titre"]}</h1>";
$c=$data"contenu"];
$i=0;
foreach($s as $mot){
if(strlen($mot)>3){
$i++;
if($i>4){$i=1;}
$c = str_ireplace($mot,'<span>'.$mot.'</span>',$c);
}
}
echo "<p>{$c}</p>";
}
}
else{
echo "Votre recherche n'a abouti à rien!";
}
?>
Problème ligne 33 donc ^^
Désolé ..
Edit: Problème résolu, j'ai remplacer str_ireplace par str_replace.
Merci en tout cas d'avoir répondu à mes problèmes !
En fait l'erreur viens du faite que tu n'es pas connecté à ta base de donnée, donc la connexion est mal faite dans ton fichier config.php
Saluy Nairolf !
Excuse moi de mon impolitesse, je n'ai pas pus répondre plus tôt :/
Donc pour en revenir à mon problème, c'était assez simple au finale mais je bloque maintenant à la ligne 52 .
Pour mon problème d'avant, effectivement il n'arriver pas à entrer dans la base de donné, parce que tous simplement, j'avais oublié de connecté la base à mon fichier Search.php!
Second Problème:
<?php
if(isset($_GET'search'])){
require "../config.php";
mysql_connect(DB_HOST,DB_LOGIN,DB_PASS);
mysql_select_db(DB_BDD);
$search=$_GET'search'];
$s=explode(" ",$search);
$sql="SELECT * FROM news";
$i=0;
foreach($s as $mot){
if(strlen($mot)>3){
if($i==0){
$sql.=" WHERE ";
}
else{
$sql.=" OR ";
}
$sql.="contenu LIKE '% $mot %'";
$i++;
}
}
$req = mysql_query($sql) or die (mysql_error());
echo mysql_num_rows($req)." Résultat";
while($data=mysql_fetch_assoc($req)){
echo "<h1>{$data"titre"]}</h1>";
$c=$data"contenu"];
$i=0;
foreach($s as $mot){
if(strlen($mot)>3){
$i++;
if($i>4){$i=1;}
<u><strong>$c = str_ireplace($mot,'<span>'.$mot.'</span>',$c);</strong></u>
}
}
echo "<p>{$c}</p>";
}
}
else{
echo "Votre recherche n'a abouti à rien!";
}
?>
La ligne en gras pose problème
Merci d'avance ;) !
<u><strong>$c = str_ireplace($mot,'<span>'.$mot.'</span>',$c);</strong></u>
celle là ?
Tu es en train de mettre du html dans du php
$c = str_ireplace($mot,'<span>'.$mot.'</span>',$c);
$c='<u><strong>'.$c.'</strong></u>';
Ca devrait aller mieux comme ça :p