#php #html #sql #mysqli
Вопрос:
В настоящее время я отображаю свои HTML-данные с помощью PHP-скрипта в свою таблицу на веб-сайте. Нет, вот в чем проблема: я хочу, чтобы помимо каждой записи на веб-сайте был установлен флажок, затем пользователь может установить или снять флажок, его решение затем отправляется с помощью кнопки «Отправить». Но в моем PHP-скрипте я не думаю, что смогу создать отдельный флажок для каждой записи, чтобы мой скрипт знал, какое задание выполнено или не выполнено. Я надеюсь, что в этом есть какой-то смысл, если не стесняйтесь спрашивать. Мой Код:
<tr>
<th style="color:aliceblue">Fach</th>
<th style="color:aliceblue">Name</th>
<th style="color:aliceblue">Abgabedatum</th>
<th style="color:aliceblue">Erledigt</th>
</tr>
<?php
$conn = mysqli_connect("localhost:3306", "xnmmgfa1_Lernjournal", "Lernjournal2021", "xnmmgfa1_LJ");
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "SELECT Fach, Name, Abgabedatum FROM Lernauftraege";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
// output data of each row
while($row = $result->fetch_assoc()) {
echo "<tr><td style='text-align: center;color:antiquewhite;'>" . $row["Fach"]. "</td><td style='text-align: center; color:antiquewhite;'>" . $row["Name"] ."</td><td style='text-align: center; color:antiquewhite;'>"
. $row["Abgabedatum"]. "</td><td style='text-align: center; color:antiquewhite;'>" . "<input type='checkbox' id'erledigt' name='$id'>" . "</td></tr>";
}
echo "</table>";
} else { echo "0 results"; }
$conn->close();
?>
<button type="submit" name="b_erledigt">Senden</button>
</table>```
Ответ №1:
Вы можете использовать обозначение массива в качестве входного имени.
<input type="checkbox" name="userselection[]" value="$row['id']"/>
И в вашем PHP-коде, который обрабатывает отправленную форму
$userselection = $_POST['userselection'];
foreach ($userselection as $selectedId) {
/* whatever you wanna do with the selected rows... */
}
Комментарии:
1. Спасибо, я добавил ваш код в таблицу, но теперь я получаю ошибку с оператором VALUE,
while($row = $result->fetch_assoc()) { echo "<tr><td style='text-align: center;color:antiquewhite;'>" . $row["Fach"]. "</td><td style='text-align: center; color:antiquewhite;'>" . $row["Name"] ."</td><td style='text-align: center; color:antiquewhite;'>" . $row["Abgabedatum"]. "</td><td style='text-align: center; color:antiquewhite;'>" . "<input type='checkbox' name='userselection[]' value='$row["id"]'/>" . "</td></tr>";
я получаю ошибку предложения, я перепробовал все методы предложения2. Здесь ошибка @Martin: Ошибка синтаксического анализа: синтаксическая ошибка, неожиданная двойная кавычка, ожидание » — » или идентификатора, или переменной, или числа в /home/xnmmgfa1/lernjournal.com/Auftrage.php на линии 91
3. @MikkaKummer Вы не можете использовать двойные кавычки внутри строки в двойных кавычках!
"<input type='checkbox' name='userselection[]' value='" . $row['id'] . "'/>"
следует исправить эту ошибку.