Avatar billede dmy Nybegynder
27. august 2008 - 12:53 Der er 2 kommentarer og
1 løsning

Fremhæv søgeord

Hmm ja nu er jeg stødt på et nyt problem.
Hvordan fremhæver jeg mit søgeor i resultatet af min søgning.

min kode:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {    //der laves en søgning på ord som forekommer i tabellen produkter, felterne             navn,beskrivelse osv....
    $sog_ord = mysql_real_escape_string($_POST['soegefelt']);
$query = mysql_query ("SELECT * FROM produkter WHERE navn LIKE '%$sog_ord%' OR beskrivelse LIKE '%$sog_ord%' OR pris LIKE '%$sog_ord%' OR billede LIKE '%$sog_ord%' ") or die(mysql_error());
   
    if(mysql_num_rows($query) > 0){
   
    echo "Din søgning på <b>$sog_ord</b> gav dette resultat<br /><hr /><br />";
                                                            //udskriver sætnimg
     
      while($row = mysql_fetch_assoc($query)) {                //udskriver resultat fra søgning
                echo "Produkt ID: ".$row['produkter_id']." <br />";
                echo "Navn: ".$row['navn']." <br>";
                echo "Beskrivelse: ".$row['beskrivelse']." <br />";
                echo "fk_producenter_id: ".$row['fk_producenter_id']." <br />";
                echo "fk_menu_id: ".$row['fk_menu_id']." <br /><br />";
                echo '<img src="prod_image/'.$row['billede'].'"></img><br /><br />';
                echo "pris: ".$row['pris']." <br /><br />";
                echo "<a href ='red_pro.php?produkter_id=".$row['produkter_id']."'>Rediger </a><br /><br /><hr />";
      }
  }else{
      echo 'Din søgning gav intet resultat. Prøv igen!';    //udskriver denne sætning, hvis søgningen ikke fandt noget
  }
}
?>
Avatar billede geggeri Nybegynder
27. august 2008 - 15:13 #1
Hvad med at bruge str_replace(). http://dk2.php.net/manual/en/function.str-replace.php

Så burde resultatet bliver:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {    //der laves en søgning på ord som forekommer i tabellen produkter, felterne            navn,beskrivelse osv....
    $sog_ord = mysql_real_escape_string($_POST['soegefelt']);
$query = mysql_query ("SELECT * FROM produkter WHERE navn LIKE '%$sog_ord%' OR beskrivelse LIKE '%$sog_ord%' OR pris LIKE '%$sog_ord%' OR billede LIKE '%$sog_ord%' ") or die(mysql_error());
 
    if(mysql_num_rows($query) > 0){
 
    echo "Din søgning på <b>$sog_ord</b> gav dette resultat<br /><hr /><br />";
                                                            //udskriver sætnimg
   
      while($row = mysql_fetch_assoc($query)) {                //udskriver resultat fra søgning
                echo "Produkt ID: ".$row['produkter_id']." <br />";
                echo "Navn: ".str_replace($sog_ord, "<b> . "$sog_ord . "</b>", $row['navn'])." <br>";
                echo "Beskrivelse: ".str_replace($sog_ord, "<b> . "$sog_ord . "</b>", $row['beskrivelse'])." <br />";
                echo "fk_producenter_id: ".$row['fk_producenter_id']." <br />";
                echo "fk_menu_id: ".$row['fk_menu_id']." <br /><br />";
                echo '<img src="prod_image/'.$row['billede'].'"></img><br /><br />';
                echo "pris: ".$row['pris']." <br /><br />";
                echo "<a href ='red_pro.php?produkter_id=".$row['produkter_id']."'>Rediger </a><br /><br /><hr />";
      }
  }else{
      echo 'Din søgning gav intet resultat. Prøv igen!';    //udskriver denne sætning, hvis søgningen ikke fandt noget
  }
}
?>
Avatar billede geggeri Nybegynder
27. august 2008 - 15:15 #2
En lille fejl i min kode. De 2 rettede linier skal være:
echo "Navn: ".str_replace($sog_ord, "<b>" . $sog_ord . "</b>", $row['navn'])." <br>";
                echo "Beskrivelse: ".str_replace($sog_ord, "<b>" . $sog_ord . "</b>", $row['beskrivelse'])." <br />";
Avatar billede dmy Nybegynder
27. august 2008 - 17:06 #3
tusind tak det virker ;D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester