Php 如何在MySQL表中提供可搜索的项目;标签;
我有一个以下样式的MySQL表: 姓名标签 电脑、电脑、游戏技术 电脑游戏、键盘、显示器 等等 我想知道,是否有可能使这些搜索。例如,如果有人搜索“PC”,那么结果就是技术。如果有人搜索“游戏”,那么技术和计算机将成为搜索结果。到目前为止,我的代码如下:Php 如何在MySQL表中提供可搜索的项目;标签;,php,mysql,database,Php,Mysql,Database,我有一个以下样式的MySQL表: 姓名标签 电脑、电脑、游戏技术 电脑游戏、键盘、显示器 等等 我想知道,是否有可能使这些搜索。例如,如果有人搜索“PC”,那么结果就是技术。如果有人搜索“游戏”,那么技术和计算机将成为搜索结果。到目前为止,我的代码如下: <?php //Include the connection file include "subconnect.php"; $sql = "SELECT * FROM subs"; if(isset($_POST['search'
<?php
//Include the connection file
include "subconnect.php";
$sql = "SELECT * FROM subs";
if(isset($_POST['search'])) {
$search_term = mysql_real_escape_string($_POST['search_box']);
$sql .= " WHERE tags = '{$search_term}'";
}
$query = mysql_query($sql) or die(mysql_error());
?>
<form name="search_form" method="POST" action="subsearch.php">
Search: <input type="text" name="search_box" value="" />
<input type="submit" name="search" value="Enter a category to find Subreddits!">
</form>
<table width="70%" cellpadding="5" cellspace="5">
<tr>
<td><h1>Name</h1></td>
</tr>
<?php while($row = mysql_fetch_array($query)) { ?>
<tr>
<td><?php echo $row['name']; ?></td>
</tr>
<?php } ?>
</table>
谢谢你的帮助 轻度测试
那么,我是否理解您有一个带有列的数据库设置,其中有一种标签列
如果是这样的话,那么是的,您确实可以使用RLIKE命令搜索它们(我相信还有许多其他命令)
应该这样做。记住要转义正在输入的数据。也许在PhpBB中创建一种请求var函数会对您有所帮助?我希望我已经理解了这个问题 你可以表演o a,但我认为这不是最好的方式 最好的方法是创建一个支持表“Tags”,并与原始表创建一个关系n->n
SELECT * FROM subs WHERE tags RLIKE 'PC'