mysqli_fetch_array - >根据2个输入字段更新输入

时间:2015-06-05 14:34:51

标签: javascript php mysql

我有一个要订购的产品清单,我想将'to order'字段设置为'最小'减去'stock',只要'stock'改变,但只有最后一个输入有效。对于其他人,onchange不起作用。

  $result_producten = mysqli_query($conn, 
                                 "SELECT * FROM producten "
                                  ."WHERE lev_id = '".$sql_result2['id']."'"
                                  );

     <table width="600" border="1" cellpadding"1" cellspacing= "1" class="flatTable">
        <tr class="headingTr">
            <th>Suppliercode</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>".$producten['lev_id']."</td>";
            echo "<td>".$producten['productnaam']."</td>";
            echo "<td>
                  <input id='test' name='".$producten['id']."' 
                         type='text' onchange='myFunction(this.value)' 
                         onkeypress='return event.charCode >= 48 && event.charCode <= 57'
                  />
                  </td>";
            echo "<td>".$producten['minimum']."</td>";
            echo "<td>
                  <input id='".$producten['id']."' name='mytext' 
                         type='text' readonly='true' />
                  </td>";
            echo "</tr>";
?>
<script>
function myFunction(val) {
    var elem = document.getElementById('<?php echo $producten['id']; ?>');
elem.value = val;


}
</script>
<?php
        }

?>
    </table>

然后我想创建一个包含所有具有'待订单'&gt;的产品的表单0.

如何让onchange为每件产品工作?如果为所有产品投入“库存”,我该如何创建该表格?

1 个答案:

答案 0 :(得分:0)

您好像多次打印myFunction。试着这样做:

while (){
  // bunch of code
echo "<td>
      <input id='test' name='".$producten['id']."' type='text'
    //notice the difference in the onchange code
          onchange='myFunction(this.value,this.name)' 
          onkeypress='return event.charCode >= 48 && event.charCode <= 57'/>
                  </td>";
  //more code
}

然后低于while

<script>
function myFunction(val,id){
    document.getElementById(id).value = val;
}
</script>

至于基于带有库存的输入创建表单&gt; 0,您需要提交一个表单(在表格中包装您的表格),在PHP一侧,获取所有提交的值并构建一系列产品ID以显示在下一页上。然后执行一个mysql查询,如:

SELECT * FROM producten WHERE product_id IN (1,5,86,19457,376)

其中1,5,86,19457,376是您要查找的产品ID。 然后遍历结果并显示您想要的产品。此外,要执行此操作,您需要将输入名称更改为<input name="mytext[]">,这将在$_POST['mytext']下提交您的值数组。您可能希望使用带有产品ID或其他内容的其他输入与mytext一起提交。