Новичок вернулся с другим вопросом. Любая помощь приветствуется. Предположим, у нас есть форма, в которой мы записали имя пользователя и перед которой есть поле ввода, в котором мы можем поставить оценку упомянутому пользователю. В рамках этого сценария все понятно. У нас есть форма с именем пользователя (его значением является «id») и другая переменная, то есть «оценка», которые публикуются на странице php-action. Следовательно, на странице php-action я получаю две переменные, одна из которых является идентификатором пользователя, а другая - выделенной оценкой через POST. Здесь все понятно и процесс прост, так как у меня есть только две определенные переменные. Теперь предположим, что мы динамически вставляем список пользователей из нашей таблицы "Пользователи" в форму. Мы заполняем нашу форму, например, 10 пользователями, взятыми из базы данных. Перед ними есть поля ввода для вставки «оценки». Пока все в порядке. Проблема, однако, заключается в следующем этапе. Проблема в том, что я не знаю, как попросить php-action-page сделать вставку, то есть вставить оценку в базу данных для конкретных пользователей, если есть опубликованные переменные пользователей. Здесь у меня есть десятки пользователей и десятки динамических переменных. И если вопрос немного расплывчатый, прошу меня извинить; тем не менее, сделайте все возможное, чтобы избавить меня от этого состояния недоумения. Большое спасибо.
Вот некоторые фрагменты кода, чтобы сделать проблему немного более ясной. Я начинаю со следующего кода:
<?php
require_once ('../inc/takein.php');
$pd = new dbase();
$students = $pd->run_a_query('SELECT * from `checking`');
Здесь я включаю базу данных и другие необходимые файлы. Затем я запускаю запрос, чтобы получить список моих учеников из таблицы. Пока все в порядке. Следующей строкой действия, которая меня озадачивает, является следующий код. Перед тем, как взглянуть на код, посмотрите на html-дизайн на следующем рисунке: Окончательный дизайн
Я совершенно не понимаю, правильно это или неправильно. Вы могли бы помочь с этим битом, а также.
<form action="grades.php" method="post">
<table class="table table-bordered font-label" id="item_table">
<?php
foreach ($students as $student) {
echo '<tr>';
echo '<td>'.$student['name'].'</td>';
echo '<td><input type="text" name="grade[]" class="form-control omit-radius-input"></td>';
echo '<input type="hidden" name="id[]" value="'.$student['id'].'">';
echo '<tr>';
}
?>
</table>
<input type="submit" name="dispatched" class="btn btn-green">
</form>
Here, I am putting the information in a table within the form element. As you can see in the above picture, I am getting four students from the database. Now I want to send these students back to the database along with their newly set grades. What I want to be posted here is the student id and their grades.
Then, the following is the last part of the code which is left incomplete because I couldn't make any senses how to do it.
if (isset($_POST['dispatched'])) {
$id[] = $_POST['id'];
$grade[] = $_POST['grade'];
// what to do now???!!!
foreach(...HOW TO DO THE 'FOREACH') {
...
}
}
May you please help me insert my student grades. Many thanks in advance.