J'ai fais le tuto
Mais j'ai ceci qui s'affiche au dessus de mon Résultat quoi enlever dans le code.
Et mes résultats ne sont pas surligné en couleur.

SELECT * FROM news WHERE contenu LIKE '%Resultat%'

<?php
header ('Content-type: text/html; charset=UTF-8');
?>
<html>
    <head>
        <title></title>
        <style type="text/css">
            spam.surlign1 { font-style: italic; background-color: #ffff00;}
            spam.surlign2 { font-style: italic; background-color: #ff9900;}
            spam.surlign3 { font-style: italic; background-color: #ff9999;}
            spam.surlign4 { font-style: italic; background-color: #9999ff;}
        </style>
    </head>
    <body>

<?php
if (isset($_GET'q'])) {
        require "connect.php";
        $q=$_GET'q'];
        $s=explode (" ",$q);
      $sql='SELECT * FROM news';
      $i=0;
      foreach ($s as $mot){
        if (strlen ($mot) >3 ) {
        if ($i==0){
            $sql.=" WHERE ";
        }
        else{
            $sql.=" AND ";
        }
        $sql.="contenu LIKE '%$mot%' ";
        $i++;
      }
    }
      echo $sql."<br/>";
        $req=mysql_query($sql) or die ( mysql_error() );
        echo mysql_num_rows ($req) . " Résultat";
        while ($d=mysql_fetch_assoc($req) ) {
            echo '<h1>' . $d"titre"] . '</h1>';
            $c=$d"contenu"];
            $i=0;
            foreach ($s as $mot){
                if (strlen ($mot) >3 ) {
                $i++;
                if ($i>4) {$i=1;}
                $c = str_ireplace ($mot, '<span class="surlign'.$i.'">'.$mot. '</span>' ,$c);
            }
            }
            echo '<p>' . $c . '</p>';
       }
}
else{
    echo "pas de recherche";
}
?>
    </body>
</html>

Merci

2 réponses


Gregory
Réponse acceptée

Tu as ecris spam.surlign1 je pense que tu voulais dire span et essayes comme ça
.surlign1 { font-style: italic; background-color: #ffff00;}
.surlign2 { font-style: italic; background-color: #ff9900;}
.surlign3 { font-style: italic; background-color: #ff9999;}
.surlign4 { font-style: italic; background-color: #9999ff;}

Bruno
Auteur
Réponse acceptée

Oui désolé. Tout marche bien maintenant pour ce qui est des couleurs. J'avais aussi ceci qui s'affichait :

SELECT * FROM news WHERE contenu LIKE '%1102035%'

J'ai mis en commentaire la ligne :

//echo $sql."<br/>";

Maintenant c'est ok.

Merci pour l'erreur des couleurs.

Bruno