我已經搜索了類似的問題,但找不到正確的答案給我的具體問題。我在我的表(表)中有一個列(數據),其中包含逗號分隔值,這些值是id的例如PHP,SQL,in_array與csv和while循環只檢索整數
- 行1 = 4,5,45
- 行2 = 5,8,9
- 行3 = 5
我使用in_array函數來檢索出現的次數爲while循環中的$ data值。所以我使用sql函數來檢索while循環中所有行中的特定值(例如'5')發生的次數。
問題是我只能檢索$data
值,如果它本身(即沒有逗號只是整數本身),所以根據列表中的示例,我只能檢索5次(第3行)。我想在所有行中出現三次檢索值「5」。這裏是我的代碼如下,任何幫助,將不勝感激。 $ selectiontext變量是用戶從表單輸入的內容。
$sql_frnd_arry_mem1 = mysql_query("SELECT data, id FROM table WHERE data='$selectiontext'");
while($row=mysql_fetch_array($sql_frnd_arry_mem1)) {
$datacheck = $row["data"];
$id = $row["id"];
}
$frndArryMem1 = explode(",", $frnd_arry_mem1);
if (($frnd_arry_mem1 !=="") && (!in_array($id, $frndArryMem1))) {echo $id;}
謝謝。
'$ frndArryMem1'和'$ frnd_arry_mem1'從哪裏來? – davogotland 2012-01-07 05:10:47
嗨davogotland,$ frndArryMem1是變量函數,$ frnd_arry_mem1是設置爲保存csv數組並將$ id變量插入字段的空變量。所以$ frnd_arry_mem1 =「$ frnd_arry_mem1,$ id」 – Raja 2012-01-07 07:00:01
這已經被回答很多次了,而且#1的回答是,你應該首先正確地對數據進行標準化,然後問題不會發生, t甚至存在 – 2012-01-07 07:23:07