我正在使用庫存控制系統,我想編輯分配給商店的用戶。用戶可以分配到一個或多個商店。我正在使用多個選擇選項。我的問題是,在編輯用戶頁面中,我想要顯示分配給商店的用戶爲選中狀態。但是,當我要這樣做時,我得到這個錯誤(無效的參數爲第194行的foreach()提供)只有當用戶沒有分配給所有商店。偶爾錯誤>>>爲foreach提供的無效參數()
e.g.-說,有3家店稱爲A,B和C
1)如果我要編輯分配給三個店面誰的用戶,我不會得到任何錯誤。
2.)如果我要編輯分配給2個商店的用戶,我將得到兩次以上的錯誤。
3.)如果我要編輯只分配給一個商店的用戶,我將只收到一次以上錯誤。
請幫我解決這個問題。
這是我的代碼
$emp_id = $_GET['emp_id'];
$result1 = mysql_query("Select *
from members
JOIN store_employee on members.emp_id = store_employee.emp_id
JOIN stores on store_employee.store_id = stores.store_id
where members.emp_id=$emp_id")
or die(mysql_error());
$query="SELECT * FROM stores";
$dropdown = "<select name='store_id[]' multiple='multiple' style='height:80px;' size='5' id='store'>";
$result2 = mysql_query ($query);
while($row2 = mysql_fetch_array($result2))
{
$dropdown .= "\r\n<option value='{$row2['store_id']}'";
foreach(mysql_fetch_array($result1) as $row1) //this is line 194
{
if(($row1['store_id'])==($row2['store_id']))
{
$dropdown .=" selected='selected'";
}
}
$dropdown .= ">{$row2['store_name']}</option>";
}
$dropdown .= "\r\n</select>";
echo $dropdown;
請不要使用'mysql_ *'函數來編寫新代碼。他們不再維護,社區已經開始[棄用程序](http://goo.gl/KJveJ)。請參閱* [紅盒子](http://goo.gl/GPmFd)*?相反,您應該瞭解[準備好的語句](http://goo.gl/vn8zQ)並使用[PDO](http://php.net/pdo)或[MySQLi](http://php.net/ mysqli的)。如果你不能決定哪些,[這篇文章](http://goo.gl/3gqF9)會幫助你。如果你選擇PDO,[這裏是很好的教程](http://goo.gl/vFWnC)。 – 2012-07-30 21:14:00
Thanku for u reply。這是一個大學迷你項目,直到現在我已經使用了mysql_函數,並且我很急於在死亡線之前完成這個任務,所以不能去mysqli或者PDO可悲地沒有時間。 – viddz 2012-07-30 21:20:19
這不是理由。從長遠來看,「沒有時間」會回來並咬你。我只是說。 ** [對錯誤的代碼沒有任何理由!](http://vimeo.com/13439458)** – 2012-07-30 21:23:00