Заполните HTML-таблицу строками данных. Выбирает с полями выбора

Этот код работает для одного окна выбора, и когда он находит значение, он останавливается, даже если существует больше столбца с тем же значением.
Мне нужно работать со многими полями выбора и заполнять таблицу всеми строками с одинаковым значением столбца (значение, которое пользователь выбирает с помощью полей выбора)

<?php
require('includes/config.php');
require('layout/header.php');
function get_info($db, $predmet)
{
$sql = $db->prepare("SELECT * FROM raspored WHERE predmet = :predmet");
$sql->setFetchMode(PDO::FETCH_ASSOC);
$sql->execute([':predmet' => $predmet]);
if ($row = $sql->fetch()) {
return $row;
}
return false;
}

?><table border="0" class="table table-hover table-striped">
<tr COLSPAN=2 BGCOLOR="#6D8FFF">
<th>ИД</th>
<th>Предмет</th>
<th>Професор</th>
<th>Ден</th>
<th>Час</th>
<th>Просторија</th>
<th>Тип</th>
</tr>

<?php
if (isset($_POST['predmet1'])) {
if ($row = get_info($db, $_POST['predmet1'])) {

echo "<tr>" .
"<td>" . $row["ID"] . "</td>" .
"<td>" . $row["predmet"] . "</td>" .
"<td>" . $row["profesor"] . "</td>" .
"<td>" . $row["den"] . "</td>" .
"<td>" . $row["chas"] . "</td>" .
"<td>" . $row["prostorija"] . "</td>" .
"<td>" . $row["tip"] . "</td>" .
"</tr>";

} else {
echo "don't exist records for list on the table";
}
}
?>

</table>
</div>

<?php
//футер
require('layout/footer.php');
?>

Это выбор коробки.

<select name="predmet[1]" id="predmet[1]" class="form-control input-lg">
<option value="" class="placeholder" style="display: none;">Предмет1</option>
<option value="Алгоритми и структури на податоци">Алгоритми и структури на податоци</option>
<option value="Конечна Математика">Конечна Математика</option>
<option value="Софтверско инженерство">Софтверско инженерство</option>

</select>
</div>
</div>
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<select name="predmet[2]" id="predmet[2]" class="form-control input-lg">
<option value="" class="placeholder" style="display: none;">Предмет2</option>
<option value="Алгоритми и структури на податоци">Алгоритми и структури на податоци</option>
<option value="Конечна Математика">Конечна Математика</option>
<option value="Софтверско инженерство">Софтверско инженерство</option></select>

1

Решение

Так что я думаю, что-то вроде этого.

    function get_info($db, $predmet_1,$predmet_2)
{
$param = array();
$query = "SELECT * FROM raspored";
$where_sql = '';
if($predmet_1 != '' || $predmet_2 != '') {
$query .= " WHERE ";
}
if($predmet_1 != '') {
$where_sql .= 'predmet = :predmet_1';
$param[':predmet_1'] = $predmet_1;
}
if($predmet_2 != '') {
if($where_sql != '') {
where_sql .= ' AND ';
}
$where_sql .= 'predmet2 = :predmet_2';
$param[':predmet_2'] = $predmet_2;
}

$sql = $db->prepare("SELECT * FROM raspored ".$where_sql);
$sql->setFetchMode(PDO::FETCH_ASSOC);
$sql->execute($param);
return $sql->fetchAll();
}

<select name="predmet_1" id="predmet_1" class="form-control input-lg">
<option value="" class="placeholder" style="display: none;">Предмет1</option>
<option value="Алгоритми и структури на податоци">Алгоритми и структури на податоци</option>
<option value="Конечна Математика">Конечна Математика</option>
<option value="Софтверско инженерство">Софтверско инженерство</option>

</select>
</div>
</div>
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<select name="predmet_2" id="predmet_2" class="form-control input-lg">
<option value="" class="placeholder" style="display: none;">Предмет2</option>
<option value="Алгоритми и структури на податоци">Алгоритми и структури на податоци</option>
<option value="Конечна Математика">Конечна Математика</option>
<option value="Софтверско инженерство">Софтверско инженерство</option></select><table border="0" class="table table-hover table-striped">
<tr COLSPAN=2 BGCOLOR="#6D8FFF">
<th>ИД</th>
<th>Предмет</th>
<th>Професор</th>
<th>Ден</th>
<th>Час</th>
<th>Просторија</th>
<th>Тип</th>
</tr>

<?php
$rows = get_info($db, $_POST['predmet1'],$_POST['predmet2'];
if(!empty($rows) {
foreach($rows as $row ) {

echo "<tr>" .
"<td>" . $row["ID"] . "</td>" .
"<td>" . $row["predmet"] . "</td>" .
"<td>" . $row["profesor"] . "</td>" .
"<td>" . $row["den"] . "</td>" .
"<td>" . $row["chas"] . "</td>" .
"<td>" . $row["prostorija"] . "</td>" .
"<td>" . $row["tip"] . "</td>" .
"</tr>";
}
} else {
echo "don't exist records for list on the table";
}
}
?>

</table>
</div>

<?php
//футер
require('layout/footer.php');
?>

Я думаю, что это правильно, но если и predmet_1, и predmet_2 относятся к одному и тому же полю, то вы можете использовать SQL IN, но создать оператор sql и parms аналогичным образом.

Могу ли я предложить, если это так, что-то вроде этого.
http://loudev.com/ или же
http://davidstutz.github.io/bootstrap-multiselect/

Может помочь вашим пользователям.

Надеюсь, это поможет.

0

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

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

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