0

(MySQL) データベースからの出力に問題があります。

アトラクションデータベース

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

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

サイトには、autoSuggest 機能を備えた入力フィールドがあります。したがって、私のjQueryには、データをajaxファイルに送信する.keyupイベントがあり、ajaxファイルは提案のリスト(autosuggest)を出力します。

したがって、入力「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 に答える