Я создал 2 таблицы
Продукты TABLE
------------------------------
| ID | name | duration|
------------------------------
| 1 | box | 10 |
| 2 | plastic | 20 |
------------------------------
и TABLE productSub
-------------------------------------------------
| ID | type | min_order | max_order | parent |
-------------------------------------------------
| 1 | paper S | 1 | 10 | 1 |
| 2 | paper L | 11 | 50 | 1 |
| 3 | wood S | 1 | 20 | 2 |
| 4 | wood L | 21 | 50 | 2 |
--------------------------------------------------
в базе данных productSub parent означает идентификаторпродуктов базы данных, я уже успешно показываю все данные с под данными в коде php.Отображение данных с переключателем ввода позволяет выбрать, какие данные они хотят заказать.
<form method="post" name="productform">
<?php foreach($allproducts as $key => $products):?>
<h4 class="title">
<input type="radio" name="p_id" value="<?php echo $products['id'];?>" checked="">
<?php echo $products['name'].' <small>'.$products['duration'].'</small>';?>
</h4>
<?php $allproductsparent = getAllProductsParent($products['id']); foreach($allproductsparent as $value):?>
<table class="table"><tr>
<th scope="row"><?php echo $value['type'];?></th>
<td><?php echo $value['min_order'].' ~ '.$value['max_order'];?></td>
</tr></table>
<?php endforeach; ?>
<?php endforeach; ?>
<input type="text" id="order" class="form-control" name="order" placeholder="Total Order" required>
<input type="submit" id="submit" class="btn btn-success" name="submit" value="Submit">
</form>
Когда форма будет отправлена, она отправит данные на мою страницу php и выдаст мне форму данных.
Что я получаю после отправки данных, это два массива, состоящих из productSub.
Array
(
[0] => Array
(
[id] => 1
[type] => Paper S
[min_order] => 1
[max_order] => 10
[duration] => 10
)
[1] => Array
(
[id] => 1
[type] => Paper L
[min_order] => 11
[max_order] => 50
[duration] => 10
)
)
Вопрос в том, как отфильтровать данные на основе Total Order submit.И данные должны быть между одним из минимального заказа productSub и максимальным заказом, тогда показывать только 1 productSub, который соответствует критериям.Спасибо
==========================================================================
Для дополнительной информации я создал этот PDO для отображения представленных данных
function getProductById($id){
$res_arr = [];
global $conn;
$stmt = $conn->prepare("SELECT ps.*,p.* FROM productsub ps INNER JOIN products p ON p.id = ps.parent WHERE ps.parent = :id");
$stmt->bindParam(':id', $id);
$stmt->execute();
$stmt->setFetchMode(PDO::FETCH_ASSOC);
while ($res = $stmt->fetch())
{
$res_arr[]= $res;
}
return $res_arr;
}
И покажите это так
<code>echo '<pre>';
print_r(getProductById($_POST['p_id']));
echo '
';