0

我继承了一个网站,该网站允许用户输入数量,然后扫描条形码,然后将项目编号输入到一个字段中,然后在下一个字段中输入标签。这些数量/项目编号行中有十个可以填写。点击提交后,数据将通过电子邮件发送到一个地址。

我有一个包含两列的 CSV 文件,一列用于项目编号,另一列用于描述。我可以设置它,以便页面会在填充项目编号字段时注意到并显示描述文本吗?

如果有必要,我可以接受将 CSV 保存为单独文件的解决方案,或者需要我将 CSV 数据复制到 HTML 文件中的解决方案。或任何其他开箱即用的解决方案。

此外,HTML 在 PHP 中,我不确定这有多重要。像这样:

<?php
if(isset($_POST["submit"])) {
...
} else { ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<body>
...
</body>
</html>
<?php } ?>

非常感谢您提供的任何帮助!

4

2 回答 2

0

我认为您必须为该行使用模板并使用 Javascript 动态创建必要的行。

您可以将事件添加到第一个字段。当它发生变化时,您可以向服务器发送请求(使用 Ajax),并使用返回的数据填充第二个字段。

您可以在解释该方法的一部分的地方看到类似这样这样的其他问题。

于 2013-01-29T22:18:32.087 回答
0

除了明显的建议之外Put the CSV in a DB and fetch it from there,您还可以读取 csv 文件并将其存储在javascript对象中。喜欢:

var myObject = {
   item_number_1: description_1,
   item_number_2: description_2,
   ....
   ....
   ....
   item_number_n: description_n
}

然后,您可以通过事件处理程序检查用户输入的项目编号是否在此对象中,如果是,则显示描述。希望有帮助。

从 csv 创建对象的方法

<script type="text/javascript">
var myObject = {};
<?php
$fp=fopen('PATH_TO_YOUR_CSV_FILE','r');
$str = '';

while(($data=fgetcsv($fp,'',','))!==false) {
   $item = htmlentities(trim($data[0]),ENT_COMPAT,'UTF-8',false);
   $desc = htmlentities(trim($data[1]),ENT_COMPAT,'UTF-8',false);

   $str .= 'myObject["'.$item.'"]="'.$desc.'",';
}
fclose($fp);
echo trim($str,',');
?>
</script>
于 2013-01-29T22:24:11.930 回答