отображать одну и ту же форму несколько раз в PHP - PullRequest
0 голосов
/ 11 февраля 2011

У меня есть таблица в базе данных, в которой есть столбец с именем roll_no, в таблице есть еще четыре столбца. У меня есть форма для вставки данных в эту таблицу. Я хочу отобразить эту форму x количество раз, где x это количество различных значений roll_no. Это означает, что если roll_no имеет 50 различных значений, то форма будет отображаться 50 раз на одной странице. А в форме поле roll_no должно заполняться автоматически значением, извлеченным из базы данных. Остальные 4 поля: start_date, end_date, total_lectures, Particip_lectures. предположим, что start_date = 7th и end_date = 20, так что всего 13 лекций, из которых roll_no 1 посетило 10 лекций, а roll_no 2 посетило 7 лекций и так далее. Учителя заполняют данные в форме, как это, а затем отправляют форму, и данные обновляются в таблице. комбинация roll_no, start_date и end_date вместе служит первичным ключом.

Вот скриншот таблицы, о которой я говорю: hxxp: //img202.imageshack.us/img202/832/screenshot1go.png и если вы, ребята, использовали phpmyadmin, то вы знаете, что когда мы нажимаем на кнопку вставки, она показывает две разные формы для вставки данных, что-то вроде этого на скриншоте hxxp: //img233.imageshack.us/img233/7724/screenshot2ua.png Я также хочу сделать что-то вроде этого, но количество форм будет около 60 максимум

Ответы [ 2 ]

2 голосов
/ 11 февраля 2011

Не могу понять, что вы пытаетесь сделать, но если я вас правильно понимаю, вы захотите что-то напечатать так часто, как в базе данных есть разные значения.

(Извините, но я все еще использую функции MySQL старой школы, поэтому, если вы используете более новые, вам, возможно, придется это немного изменить.)

$distinct_query = mysql_query("
    SELECT DISTINCT row_no
    FROM table_name
");
for ($i = 0; $i < mysql_num_rows($distinct_query); $i++) {
    ?>
    All the stuff you want to print, where <?php print $i; ?> is the iteration of your form.<br />
    <?php
}

Обратите внимание, что этот код не проверен.

1 голос
/ 11 февраля 2011

Вы можете просто добавить уникальный номер к каждому элементу формы при выводе каждой подформы

1. <input type="text" name="roll_no_1" ... />
   <input type="text" name="start_date_1" ... />
   etc...
2. <input type="text" name="roll_no_2" ... />
   <input type="text" name="start_date_2" ... />
   etc...
...
50. <input type="text" name="roll_no_50" ... />
   <input type="text" name="start_date_50" ... />
    etc...

или, если вы доверяете пользователям не манипулировать формой, вы можете использовать синтаксис массива PHP дляполя формы:

1. <input type="text" name="roll_no[]" ... />
   <input type="text" name="start_date[]" ... />
2. <input type="text" name="roll_no[]" ... />
   <input type="text" name="start_date_[]" ... />
...
50. <input type="text" name="roll_no[]" ... />
    <input type="text" name="start_date[]" ... />

В любом случае работает.Первое имеет то преимущество, что гарантирует, что все связанные поля имеют одинаковую «нижнюю» идентификацию внутри имени.Другой упрощает просто: foreach ($_POST['roll_no'] as $idx => $val) { ... }

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...