我試圖從動態生成的選項列表中捕獲用戶的複選框選擇,但我得到的是「數組」而不是選定的名稱。Foreach顯示「數組」而不是從動態生成的複選框中選擇的項目
在我上次測試中,我檢查了3個盒子中的2個,並得到了3個「Array」實例。
這是我的查詢查找名稱:
$query = "SELECT id, first_name, last_name
FROM users WHERE location_id = " . $location_id;
$result = mysqli_query($connection, $query);
if (!$result)
{
die("Database query failed: " . mysqli_error($connection));
}
while ($row = mysqli_fetch_array($result))
{
$name = $row['first_name'] . " " . $row['last_name'];
echo '<label><input type="checkbox" name="emp_name[]" id="emp_name[]" value="' . $name . '"> ' . $name . '</label>';
}
我然後張貼名像這樣的數組:
$attendee = $_POST['emp_name'];
並嘗試生成名稱列表我的電子郵件這樣的:
$values = ('emp_name');
foreach ($values as $value) {
$$value = (array)$_POST[$value];
}
for($i = 0; $i < count($attendee); $i++){
$attendees = array();
foreach ($values as $value) {
$attendees[] = ${$value}[$i];
}
有人能幫我看看有什麼問題嗎?
我改變了我的代碼,其中包括我試圖呈現HTML的一部分:
foreach ($attendee as $name) {
$attendees[] = $name;
$htmlBody .= "<tr><td>{$attendees}</td></tr>";
}
但它仍然會返回數組。
嘗試在'$ _POST'變量上使用'var_dump()'來查看它是如何嵌套的 – Ortix92
我剛剛注意到我在錯誤日誌中獲得了一個字符串轉換通知數組 – Mike