2013-09-03 4 views
1

Вот мой код до сих порКак выделить строку поиска в результате mysql?

<form method="post" name="search"> 
     <input type="search" name="k" placeholder="Enter Keywords"> 
     <input type="submit" value="Search"> 
    </form> 
    <? 
$skw = $_POST['k']; 
if(isset($_POST['k'])){ 
$connect = mysql_connect('*', '*', '*')or die('Could not execute command. Please contact a administrator.'); 
mysql_select_db('*')or die('No database'); 
$query = "SELECT * FROM *** WHERE items LIKE '%$skw%'"; 
$result = mysql_query($query)or die(mysql_error()); 
    echo "<table align=\"left\" border=\"1\" cellpadding=\"5\" cellspacing=\"3\">"; 
    echo "\"" . $skw . "\""; 

     if(empty($result)){echo " Not Found!";}else{ 

      echo " Found In"; 

      while($row = mysql_fetch_array($result)){ 
      echo "<tr><td>"; 
      echo "<font color=\"#CC0000\">" . $row['tub_id'] . "</font>"; 
      echo "</td><td>"; 
      echo $row['items']; 
      echo "</td></tr>"; 

} 
echo "</table>"; 

}}?> 

Как выделить $ SKW в результате? Я попытался использовать preg_replace, но я очень новичок в php и не могу заставить его работать. Я понимаю, что я могу использовать классы для его стилизации. Благодарим вас за помощь.

ответ

2

Сначала добавьте CSS высокий lightlight

.highlight{background-color: yellow; } 

тогда, предполагая, что $skw является поиск по ключевым словам, и вы будете искать его в row['items'] в ваше время заявления

while($row = mysql_fetch_array($result)){ 
     echo "<tr><td>"; 
     echo "<font color=\"#CC0000\">" . $row['tub_id'] . "</font>"; 
     echo "</td><td>"; 
     $items = preg_replace("/" . $skw. "/", "<span class='highlight'>'" . $skw . "</span>",$row['items']); 
     echo $items; 
     echo "</td></tr>"; 

} 

затем некоторые примечания: не используйте <font> тег. -_- и mysql_* устарел ..: D

0

Вы можете добавить класс

CSS Sytle:

.hihglight{background-color: yellow;} 

PHP код:

echo "<span class='hihglight'>{$skw}</span>"; 

Как примечание стороны: mysql_ расширение * нежелателен из PHP 5.5.0, и будут удалены в будущем. Вместо этого следует использовать расширение MySQLi или PDO_MySQL.

Полезная ссылка Why shouldn't I use mysql_* functions in PHP