Как мы можем обработать динамическую форму в переполнении стека

Новичок вернулся с другим вопросом. Любая помощь приветствуется. предполагать у нас есть форма, в которой мы записали имя пользователя и перед которой есть поле ввода, в котором мы можем присвоить оценку упомянутому пользователю. В рамках этого сценария все ясно. У нас есть форма с именем пользователя (это «id» в качестве значения) и другая переменная, то есть оценка, которые публикуются на php-action-page. Следовательно, на php-action-page я получаю две переменные, одна из которых является идентификатором пользователя, а другая — с помощью POST. Здесь все ясно и процесс прост, так как у меня есть только две определенные переменные. Сейчас, предполагать что мы вставляем в форму список пользователей из нашей таблицы «Пользователи» динамически. Мы заполняем нашу форму, например, 10 пользователей, взятых из базы данных. Перед ними есть поля ввода для «оценки», в которую нужно вставить. Пока все хорошо. Проблема, однако, заключается в следующем этапе. Эта проблема Я не знаю, как попросить php-action-page выполнить вставку, то есть вставить оценку в базу данных для конкретных пользователей, если есть опубликованные переменные пользователей. Здесь у меня десятки пользователей и десятки динамических переменных. А также если вопрос немного расплывчатый, прошу прощения; Тем не менее, сделай все возможное, чтобы освободить меня от этого состояния недоумения. Большое спасибо.

Вот некоторые фрагменты кода, чтобы сделать проблему немного яснее.
Я начинаю со следующего кода:

<?php
require_once ('../inc/takein.php');
$pd = new dbase();
$students = $pd->run_a_query('SELECT * from `checking`');

0

Решение

Просто назовите ваши переменные как массивы — если ваша форма выглядит следующим образом

<form method="POST">
<input type="text" name="grade[12]">
<br>
<input type="text" name="grade[15]">
<br>
<input type="text" name="grade[7]">
<br>
<input type="text" name="grade[21]">

<!-- continue here -->
</form>

тогда в вашем PHP-коде вы получите доступ к таким оценкам

if(is_array($_POST['grade'])) foreach($_POST['grade'] as $id => $value)
{
// REPLACE INTO user_grades(user_id, grade) VALUES($id, $value)
}

ОБНОВИТЬ

Вы также должны указать идентификационные данные своих учеников в поле INPUT, иначе вы не будете знать, для какого ученика данная оценка.

<?php
foreach ($students as $student) {
echo '<tr>';
echo '<td>'.$student['name'].'</td>';
echo '<td><input type="text" name="grade['.$student['id'].']" class="form-control omit-radius-input" value="'.$student['current_grade'].'"></td>';
echo '<tr>';
}
?>

foreach показано выше в моем первоначальном ответе.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]