EDIT: Возможно, ее проще создать новый столбец в базе данных. Именован: to_order. Затем создайте запрос UPDATE для каждого продукта. Что-то вроде: UPDATE products SET to_order = '[VALUE_INPUT]' WHERE id = '[ID_PRODUCT]' Проблема здесь в том, где следует препроводить этот запрос? Как определить VALUE_INPUT и ID_PRODUCT для каждой строки?Создайте форму отправки (оберните таблицу в форму и покажите ее как таблицу снова) из продуктов, которые были заказаны
Если это работает, и я могу ОБНОВЛЯТЬ каждую строку для этого конкретного продукта и т. Д. Я могу снова создать mysqli_fetch_assoc, где будет указано только имя [Product_name], [to_order]. Пожалуйста, помогите.
Я работаю над системой заказов поставщиков. В тех случаях, когда менеджер ресторана может легко выбрать поставщика, заполните, сколько у него запасов этого конкретного продукта. И он автоматически подсчитает, сколько вам нужно заказать.
Эта часть сделана. Но теперь, как только мы заполним форму, я хочу получить обзор всех продуктов, которые вам нужно заказать, и это должно быть пригодно для печати.
Например, в словах объяснил:
У нас есть несколько колонок в нашей таблице [ID_product] [ID_supplier] [PRODUCT_NAME] [Фото] [Минимальное] [To_order]
ID_product, ID_supplier , Product_name и Minimum - все данные из базы данных. Запасы - это то, что вам нужно заполнить. И To_order рассчитывается по: Minimum-stock = To_order. (логический)
С помощью команды mysql_fetch_assoc мы можем отображать все конкретные продукты с определенным идентификатором и минимальным целым числом.
Теперь вот часть, где мой вопрос: Когда все заполнено, вам необходимо нажать кнопку, которая ссылается на следующую страницу. На этой странице показан ваш общий ввод, полный список. как: [PRODUCT_NAME] [To_order]
Итак, на этой странице вы получите обзор вашей формы, где вы заполнили все эти ценности. Таким образом, вы получаете список (насколько большой зависит от того, сколько продуктов у вас есть в вашей базе данных) со всеми рассчитанными входами от «To_order».
Моя проблема в том, что если я создам действие формы в свой fetch_assoc, он может читать все имена элементов, но как только вы отправите форму и перейдите на следующую страницу. Все данные потеряны. Мне нужно что-то, где я могу увидеть значение с предыдущей страницы этого ввода. И тогда для всех конкретных продуктов.
form.php (Где мне нужно заполнить мой запас, чтобы рассчитать вход «To_order»). Это работает нормально.
<table width="600" border="1" cellpadding"1" cellspacing= "1" class="flatTable">
<tr class="headingTr">
<th>
Supplier code
</th>
<th>
Product
</th>
<th>
Stock
</th>
<th>
Minimum
</th>
<th>
To order
</th>
</tr>
<?php
while ($producten=mysqli_fetch_assoc($result_producten)) {
echo "<tr>";
echo "<td><form method='POST' action='lijst.php'><label name='".$producten['lev_id']."'>".$producten['lev_id']."</label></td>";
echo "<td><label name='".$producten['productnaam']."'>".$producten['productnaam']."</label></td>";
echo "<td>
<input id='".$producten['minimum']."' name='".$producten['id']."' type='text'
oninput='calculateBestelling(this.value,this.name, this.id)'
onkeypress='return event.charCode >= 48 && event.charCode <= 57'/>
</td>";
echo "<td><input id='".$producten['minimum']."' name='mytext2' type='text' readonly='true' value='".$producten['minimum']."' /></td>";
echo "<td><input id='".$producten['id']."' name='order[]' type='text' readonly='true' /></td>";
echo "</tr>";
}
?>
<script>
var minimum;
var stock;
var order;
function calculateBestelling(val,name,id){
minimum = document.getElementById(id).id;
stock = document.getElementById(id).value;
document.getElementById(name).value = minimum - val;
order = document.getElementById(name).value;
if (order < 0) {
document.getElementById(name).value = '0';
}
}
</script>
</table>
<p><input type='submit'/></p></form>
Затем на следующей странице (где необходимо описание будет показано ниже):
<header>
<h2>Complete order form - Supplier: (HERE THE SUPPLIER)</h2>
</header>
<div class="container">
<div class="row">
<table width="600" border="1" cellpadding"1" cellspacing= "1" class="flatTable">
<tr class="headingTr">
<th>
Product
</th>
<th>
To order
</th>
</tr>
<?php
//And I dont know what I need to do here. I want the values from the 3rd input the previous file. But how I can combine this with each row for a specific product?
while ($producten=mysqli_fetch_assoc($result_producten)) {
echo "<tr>";
echo "<td>PRODUCT HERE</td>";
echo "<td><input id='toorder' name='order[]' type='text' readonly='true' value='(THE VALUE OF THE PREVIOUS FILE FOR THAT PRODUCT)' /></td>";
echo "</tr>";
}
?>
</table>
</div>
</div>
Я создал образ, где вы просто можете увидеть, что у меня есть в моем уме. URL к изображению: http://i.stack.imgur.com/6AnTl.png
Таким образом, мы также должны проверить что-то вроде: (! To_order> 0), если {не показывают ROW}
Вы можете изменить коды, может быть, другой способ, который работает? Например, оставаясь на той же странице, и скрывайте запас и минимальные значения. Значит, мы можем видеть только идентификаторы, имена продуктов и значения To_order?
Вы можете использовать PHP сессию для хранения данных для Form1, или создать Form2 со скрытыми полями, содержащего значение для form1 Дайте нам знать, если у вас есть проблемы с любым из эти подходы. – crafter
Благодарим за ваш ответ. Как я могу сохранить кучу данных в сеансе PHP, который все еще связан с конкретным продуктом? Например, если вы храните значение ввода To_order в сеансе PHP. тогда можно назначить правильное значение конкретному продукту? –
См. мой ответ @Stan – crafter