Я хочу попробовать сделать динамическую форму таблицы, с помощью выпадающего списка. Но выпадающий список не может показать всю запись, где указан идентификатор.
Моя база содержит 2 таблицы:
Table_Class
| id_class| name |
-------------------
| 1 | A |
| 2 | B |
| 3 | C |
Table_Student
| id_student | name | id_class |
--------------------------------
| 1 | Sarah | 1 |
| 2 | Joe | 1 |
| 3 | Yuri | 2 |
| 4 | Andy | 2 |
| 5 | Sam | 3 |
| 6 | Oliv | 3 |
* id_class — внешний ключ
И я хочу, чтобы результат из этого — интерфейс формы, как вы можете видеть на этом изображении:
Но мой результат кода не то, что я хочу, combobox не может показать все записи, где указан идентификатор.
<!--page-->
<table border="1">
<thead>
<tr>
<th>Class</th>
<th>Student</th>
</tr>
</thead>
<tbody>
<?php
for ($x=0; $x <= (getCountClass()-1) ; $x++) {
?>
<tr>
<td>
<input type="text" class="form-control" id="bobot" name="" value="<?php echo getClassName($x); ?>" readonly>
</td>
<td>
<select class="form-control">
<option><?php echo getStudentName(getClassID($x));?></option>
</select>
</td>
</tr>
<?php
}
?>
</tbody>
</table>
<!--function-->
<?php
function getClassID($no_urut) {
include('config.php');
$query = "SELECT id_class FROM class ORDER BY id_class";
$result = mysqli_query($connect, $query);
while ($row = mysqli_fetch_array($result)) {
$listID[] = $row['id_class'];
}
return $listID[($no_urut)];
}
function getClassName($no_urut) {
include('config.php');
$query = "SELECT name_class FROM class ORDER BY id_class";
$result = mysqli_query($connect, $query);
while ($row = mysqli_fetch_array($result)) {
$name[] = $row['name_class'];
}
return $name[($no_urut)];
}
function getStudentName($id_class) {
include('config.php');
$query = "SELECT name_student FROM student WHERE id_class=$id_class";
$result = mysqli_query($connect, $query);
while ($row = mysqli_fetch_array($result)) {
$name = $row['name_student'];
}
return $name;
}
function getCountClass() {
include('config.php');
$query = "SELECT count(*) FROM class";
$result = mysqli_query($connect, $query);
while ($row = mysqli_fetch_array($result)) {
$count = $row[0];
}
return $count;
}
?>
Задача ещё не решена.
Других решений пока нет …