Page 1 sur 1

css dans requete SQL

Posté : 26 août 2015, 22:20
par martineP
Bonjour,
J'effectue une requete SQL poour un petit moteur de recherche sur mon site et je voudrais que le(les) mot tapé s'affiche en gras.
Mais je coince .....
Merci d'avance à ceux qui peuvent m'aider.

Re: css dans requete SQL

Posté : 26 août 2015, 22:47
par or 1
c'est pas un problème de sql, mais d'affichage des résultats de la requete.
http://php.net/manual/fr/function.str-replace.php
pour remplacer mot par <strong>mot</strong>

Re: css dans requete SQL

Posté : 26 août 2015, 23:46
par martineP
Oui merci pour la formulation, c'est exactement ca ! Merci pour le lien. J'ai vu cette fonction, sans réussir à l'appliquer. Je vais faire une pause, ca ira peut etre mieux ensuite.

Re: css dans requete SQL

Posté : 27 août 2015, 00:25
par Megadeth
Bonsoir,

Vous pouvez poster votre requête ou le lien du site si besoin.

Mega
;)

Re: css dans requete SQL

Posté : 27 août 2015, 14:37
par martineP
Bon, bientot chauve, je ne trouve tjs pas la solution. Voici donc mon code(j'essaie d'être,claire :
<?php 
if (isset($_POST['motcle'])&& ($_POST['motcle']!=''))
{
      $mot=htmlspecialchars($_POST['motcle']);
      $gras=$mot;
      $balise='<strong>'.$gras.'</strong>';

      $sql2="SELECT DISTINCT * FROM AB_forum_lexique
                   WHERE (lettre_lexique LIKE'%".$mot."%' OR  mot LIKE'%".$mot."%' OR definition LIKE'%".$mot."%' )" ;

      $req2 = mysql_query($sql2) or die('Erreur SQL !<br />'.$sql2.'<br />'.mysql_error());

      $nb_sujets2 = mysql_num_rows ($req2);

      if ($nb_sujets2 == 0)
     {
	     echo 'Aucune réponse dans le lexique ne correspond à votre recherche.';
      }
      else
      { 
             while ($mot=mysql_fetch_assoc($req2))
             {
                      $lettre=str_replace($gras,$balise,$mot['lettre_lexique']);
                      $remp=str_replace($gras,$balise,$mot['mot']);
                      $definition=str_replace($gras,$balise,$mot2['definition']):
 ?>

		<h2><?php echo $mot['lettre_lexique'];?></h2>
		<fieldset><p><strong><?php echo $mot['mot'];?></strong>
		</p></fieldset>
		<fieldset><p><?php echo $mot['definition']; echo $definition=str_replace($gras,$balise,$mot2['definition']);?>
		</p></fieldset>

<?php
}

Re: css dans requete SQL

Posté : 27 août 2015, 15:07
par Megadeth
c'est bien à partir du while que vous voulez que votre mot soit graissé ? avec le fait que ça corresponde ou non ?

comme ça je ferai quelque chose du genre :
if($_POST["motcle"] == $mot["mot"]) { // ya correspondance
echo "<strong>".$mot."</strong>";
}else{ //pas correspondance
echo $mot;
}
Mega
;)

Re: css dans requete SQL

Posté : 27 août 2015, 15:13
par martineP
Oui mais je veux remplacer tous les mots du résultat de ma requête. Hum je vais continuer d'essayer :( Merci Mega pour ton aide

Re: css dans requete SQL

Posté : 27 août 2015, 15:30
par martineP
Eureka !!! Je mets la correction pour ceux que ca pourrait intéresser :
<?php
while ($mot=mysql_fetch_assoc($req2)) {
    ?>
		<h2><?php echo $lettre=str_replace($gras,$balise,$mot['lettre_lexique']);?></h2>
		<fieldset><?php echo $remp=str_replace($gras,$balise,$mot['mot']);?>
		</p></fieldset>
		<fieldset><p><?php echo $definition=str_replace($gras,$balise,$mot['definition']);?>
		</p></fieldset>

	<?php
                                                   }