私は在庫管理システムに取り組んでおり、店舗に割り当てられたユーザーを編集したいと考えています。ユーザーは、1 つ以上のストアに割り当てることができます。複数選択オプションを使用しています。ここでの問題は、ユーザーの編集ページで、店舗に割り当てられたユーザーを選択済みとして表示したいということです。しかし、私がそうしようとすると、ユーザーがすべてのストアに割り当てられていない場合にのみ、このエラー ( 194 行目の foreach() に無効な引数が提供されます) が発生しました。
例: A、B、C という 3 つの店舗があるとします。
1.) 3 つのストアすべてに割り当てられたユーザーを編集する場合、エラーは発生しません。
2.) 2 つのストアに割り当てられたユーザーを編集しようとすると、上記のエラーが 2 回発生します。
3.) 1 つのストアのみに割り当てられたユーザーを編集しようとすると、上記のエラーが 1 回だけ発生します。
これを修正するのを手伝ってください。
これは私のコードです
$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;