0

我的(MySQL)数据库的输出出现问题。

景点数据库

 id |  tags
-------------------------------------

 1  |  castle a, castle b, fakecastle c
 2  |  museum a, fakemuseum b, museum c
 ...

在一个网站上,我有一个输入字段,它具有 autoSuggest 功能。因此,在我的 jQuery 中,我有一个 .keyup 事件,它将数据发送到 ajax 文件,并且 ajax 文件输出建议列表(自动建议)。

所以现在如果我输入“castle a...”,它将输出“1”(我正在输出 id)。如果我输入“museum a”,它将返回“2”。

所以我的问题是......如果我输入“fakecastle”,它是否有可能返回“1”?我知道这可以用explode(',', $string).

我一直在搞乱 FIND_IN_SET(),但不知何故我没有达到我想要的结果。所以我仍然坚持

mysql_query("SELECT tags FROM attractionData WHERE (tags LIKE '$search%') ") $search = 输入字段中的文本。

编辑

if(isset($_POST['search']) == true && empty($_POST['search']) == false){
    $search = $_POST['search'];
    $search = mysql_real_escape_string($search);

    $query = mysql_query("SELECT tags FROM attractionData WHERE (tags LIKE '$search%') ")
    while(($row = mysql_fetch_assoc($query)) !== false){
        echo "<li class='auto'>".$row['friendEmail'] ."</li>";
}

任何帮助,将不胜感激

泰,塞巴斯蒂安

4

1 回答 1

1

在此处此处此处阅读有关数据库规范化的信息,如果您按照规范化步骤进行操作,这些问题可能会同时自动解决,并且您的数据库将更加有用。

于 2013-03-27T15:03:08.790 回答