【发布时间】:2015-12-05 20:52:25
【问题描述】:
我已经四处寻找修复,但似乎没有一个有效。 我有一个条形码扫描仪,它输入条形码并单击文本框上的输入,然后我希望表单回显 PHP 函数的结果,但它不想这样做。
HTML
<html>
<body>
<form actiom="" method="Get">
<input type="text" placeholder="scan barcode" name="barcoded" onkeydown="getproduct()">
</form>
</body>
</html>
PHP
<?php
$matchedproducts = [
'534513' => "iSmoka Eleaf iKiss Mini",
'798154' => "iSmoka Eleaf iStick 20W",
'223701' => "iSmoka Eleaf iStick 50W",
'811693' => "iSmoka Eleaf i118",
'796026' => "E-Liquid"
];
$barcode = $_GET['barcodeid'];
$productfound = FALSE;
function getproduct() {
foreach ($matchedproducts as $id => $product) {
if ($barcode == array_search($barcode, $matchedproducts[$id])) {
$productfound = TRUE;
echo $matchedproducts[$product];
} else {
$productfound = FALSE;
echo "No product";
}
}
}
?>
我将所有代码都放在同一个文件中。
【问题讨论】:
-
php 是服务器端。 Javascript在客户端。你不能那样调用 getproduct() 。您需要先提交表单,然后您的 php 才能对数据执行任何操作
-
您似乎从错误的位置调用 getproduct()(一个 PHP 函数)。我假设您想在 onkeyup 事件上从服务器检索数据。您应该熟悉 AJAX。
-
你为什么不通过数据库调用来查找产品?