我有一個自動完成框的代碼,我添加了一個圖像以供選擇澄清,但要確保返回的title
是唯一的,但是當我得到使數組唯一的代碼時,我添加了其他代碼,這使得它在其他領域不是唯一的。有沒有解決的辦法?array_unique只在一個字段上?
$query = "SELECT $title, imageURL FROM PRprodINFO2 WHERE ((prodcatID = '$cat_id')
AND ($title LIKE \"%" . $_GET["q"] . "%\")) group by $title LIMIT 8";
}
$result = mysql_query($query);
// set the array
$output_items = array();
while($row = mysql_fetch_array($result)) {
// clean after first non letter/number
$row[$title] = preg_replace('/[^\w\s].*$/', "", $row[$title]);
//trim spaces
$row[$title] = trim($row[$title]);
// add image src
$output_items[] = '<img src='.$row[imageURL].' style=max-width:50px;>'
.$row[$title];
} // while
// here i need just $row[title] to be unique,
// it is made non unique after regex strips off some characters
$output = array_unique($output_items);
print(implode("\n", $output));
mysql_close();
在第一行中,您的代碼易受到盲sql注入的攻擊。你必須從外面解析一切。 – rekire 2012-01-09 07:03:00
你的意思是你想讓數據庫中的標題唯一嗎? – 2012-01-09 07:18:41
@colighto我已經稍微修改了這個問題,它與數據庫數據無關 – 2012-01-09 07:27:38