繁体   English   中英

是否可以仅使用 PHP? PHP 表格

[英]Is it possible with only PHP ? PHP FORM

我有一个 .csv 文件,其中包含产品名称及其用逗号分隔的数量。 我想从 ComboBox 中选择一个产品,并将其数量显示为我输入的数字类型的“最大值”。 以下是 .csv 文件的示例:

   Xbox,12
   Playstation,15
   Switch,13

这是我的 HTML 和 PHP 代码示例:

<form class="" method="POST" action="index.php">
        <label for="product"> Produit </label>
        <select name="product" id="espace">
        <option value="">--Please choose a product--</option>
        <?php
             $file = fopen('prodct.csv', 'r');
              if ($file){
                while ($ligne = fgets($file))
                  {
                      $l = explode(',', $ligne);
                      echo '<option value="'.$l[0].'">'.$l[0].'</option>';
                  }
                  
                  fclose($file);
              }
        ?>
       </select>
       <br> <label for="quantity"> Quantity </label>
       <input type="number" name="quantity" value="" min="0" max=""/>
</form>

不,因为 PHP 仅是服务器端。阅读客户端和服务器端编程有什么区别?

但是将其放入 json 并在 select 上使用onchange事件然后从 object 获取值然后设置到数量字段中是微不足道的。

注意,你真的应该总是先做 PHP 的东西,然后再做 output 以防出现任何错误,因为我们将多次重复使用$products

例子:

<?php
$products = [];
$file = fopen('prodct.csv', 'r');
if ($file) {
  while ($ligne = fgets($file)) {
    $l = explode(',', $ligne);
    $products[trim($l[0])] = trim($l[1]);
  }
  fclose($file);
}
?>

<form class="" method="POST" action="index.php">
  <label for="product"> Produit </label>
  <select name="product" id="espace">
    <option value="">--Please choose a product--</option>
    <?php foreach(array_keys($products) as $product):?>
    <option><?= $product ?></option>
    <?php endforeach; ?>
  </select>
  <br> <label for="quantity"> Quantity </label>
  <input type="number" name="quantity" value="" min="0" max="" />
</form>

<script>
let products = <?= json_encode($products) ?>

document.querySelector('[name="product"]').addEventListener("change", function() {
  document.querySelector('[name="quantity"]').value = products[this.value]
});
</script>

工作示例: https://repl.it/@lcherone/BlueCreepyApplicationstack#index.php

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM