php mysql搜索脚本,如何使匹配结果变为粗体

我有一个脚本,在我的网页上读取我的mysql数据库中显示的信息,如何才能使匹配的结果变为粗体?例如,如果我搜索“john”如何使显示的结果“john bloggs”.谢谢

到目前为止这是脚本,

<?
mysql_connect ("localhost", "user","pass")  or die (mysql_error());
mysql_select_db ("databasename");

$term = $_POST['term'];

$sql = mysql_query("select * from tablename where category like '%$term%' or title like '%$term%' or postcode like '%$term%' or info like '%$term%' ");

while ($row = mysql_fetch_array($sql)){
    echo '<br/> Category: '.$row['category'];
    echo '<br/> Title: '.$row['title'];
    echo '<br/> Address: '.$row['add1'];
    echo '<br/> Street: '.$row['street'];
    echo '<br/> City: '.$row['city'];
    echo '<br/> Postcode: '.$row['postcode'];
    echo '<br/> Phone: '.$row['phone'];
    echo '<br/> E-Mail: '.$row['email'];
    echo '<br/> Website: '.$row['website'];
    echo '<br/><br/>';
    }
?>

解决方法:

比方说,你有一个数组$results,其中包含MySQL查询的一些结果.

假设您在字段名称中搜索.

你可以用一个非常简单的str_replace来实现这个目的:

foreach($results as $result)
    echo str_replace($search,'<b>'.$search.'</b>',$result['name']);

这将使用< b> $search< / b>替换$search的所有实例(应该是您的搜索字符串). $result [‘name’]内.

在你的情况下:

while ($row = mysql_fetch_array($sql)){

    echo '<br/> Category: '.str_replace($term,'<b>'.$term.'</b>',$row['category']);
    echo '<br/> Title:    '.str_replace($term,'<b>'.$term.'</b>',$row['title']);
    echo '<br/> Address:  '.$row['add1'];
    echo '<br/> Street:   '.$row['street'];
    echo '<br/> City:     '.$row['city'];
    echo '<br/> Postcode: '.str_replace($term,'<b>'.$term.'</b>',$row['postcode']);
    echo '<br/> Phone:    '.$row['phone'];
    echo '<br/> E-Mail:   '.$row['email'];
    echo '<br/> Website:  '.$row['website'];
    echo '<br/><br/>';

}

按方式(重要)

你在这做什么:

$term = $_POST['term'];

$sql = mysql_query("select * from tablename where category like '%$term%' or title like '%$term%' or postcode like '%$term%' or info like '%$term%' ");

非常危险. $_POST [‘term’]来自用户,如果此用户填写’; DROP TABLE tablename – ?您的查询将突然变为将丢弃整个表并删除所有信息的内容.

你应该总是检查你的用户输入,这是一个很好的教程,解释了一些方法如何:

http://www.tizag.com/mysqlTutorial/mysql-php-sql-injection.php

上一篇:文字排版--粗体


下一篇:代码实践求解三维空间向量的夹角