[英]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.