我一直在尋找解決方案以下,但迄今沒有運氣。PHP/SQL更新字段如果選擇匹配
我有一個頁面,其中包含名爲「功能」的文本區域中的產品功能列表 - 這是從我的數據庫中的表填充的。
當我點擊一個按鈕時,運行下面的代碼,代碼做的是拿我列表中的每個單詞,檢查「description」字段是否包含該單詞,如果是,那麼它將該單詞放入一個名爲「特徵」。
這工作正常,但我有3000個不同的「功能」和100,000個產品說明來檢查 - 所以它需要一段時間運行,並經常超時。
任何人都可以建議我如何加快速度?基本邏輯是:
如果「說明」中包含「詞」把「字」
我想可能的把所有的話在一個數組,但我不知道如何確定的數組中的單詞在「描述」中並返回該值。
所有的「功能」都存儲起來,在我的desc_lookup表中以逗號分隔,因此可以很容易地將它們添加到數組中。
$features = explode("\n",$_POST["features"]);
$features = str_replace("\r","",$features);
foreach($features as $feature)
{
$sql = "UPDATE `".$config_databaseTablePrefix."products`
SET features = CONCAT(features, '".$feature.",') WHERE `description` LIKE
'%".database_safe($feature)."%'";
database_queryModify($sql,$result);
}
在此先感謝! Chris
只需使用全文:http://dev.mysql.com/doc/refman/5.1/en/fulltext-search.html – RePRO
感謝RePRO,能否給我一個簡單的例子,我是新手。 – Walshie1987