[RESOLU] css dans requete SQL

Eléphanteau du PHP | 17 Messages

26 août 2015, 22:20

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.

Mammouth du PHP | 2703 Messages

26 août 2015, 22:47

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>

Eléphanteau du PHP | 17 Messages

26 août 2015, 23:46

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.

Mammouth du PHP | 737 Messages

27 août 2015, 00:25

Bonsoir,

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

Mega
;)
Dyslexics are teople poo

Eléphanteau du PHP | 17 Messages

27 août 2015, 14:37

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
}

Mammouth du PHP | 737 Messages

27 août 2015, 15:07

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
;)
Dyslexics are teople poo

Eléphanteau du PHP | 17 Messages

27 août 2015, 15:13

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

Eléphanteau du PHP | 17 Messages

27 août 2015, 15:30

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
                                                   }