【问题标题】:PHP Making a basic product search formPHP 制作一个基本的产品搜索表单
【发布时间】:2015-01-28 19:30:45
【问题描述】:

所以我在这件事上工作了一段时间并且卡住了。基本上,我目前有一个带有 2 个基本列的 excel 表,第一个列有旧产品列表,第二列有替换它们的新产品。我一直在努力建立一个简单的 php 网站,我可以在其中输入旧产品,它会说明更换。我开始使用数组,我将数组设置为产品,数组中的所有键都是各种旧产品,它看起来像这样:

$search = $_POST["search"];
$newprod = array("prod1", "prod2", "prod3");

echo "You searched for the $search<BR>";
echo "This can be replace with these:";

if (in_array("$search", $newprod)) {
    echo "NewProdName";
}

因此,当我将它用于一些不同的产品时,它工作得很好,但是在具有长旧产品列表的产品上,服务器不喜欢具有太多键的数组,所以它只是停止读取它并给出错误这页纸。有没有更好的方法或这样做。我知道有一种更好更复杂的方法我只是希望这是一个简单的事情,我可以在以后更好地使用 php 时弄清楚并扩展它。

【问题讨论】:

  • 不喜欢有太多的钥匙?它有多少个?
  • 你不知道如何使用数据库吗?这绝对是要走的路。
  • 我不同意 PRR 的价值。如果您可以将其全部放入内存中,我认为 csv 文件很好并且应该很快。但它给出了什么错误?
  • 我刚刚重新输入了它,它不知道为什么我会收到错误但如果有人知道更简单的方法我仍然愿意帮助简化它,我可以使用它。感谢您的建议,我会看看我是否可以让 csv 继续运行。对 php 相当陌生。
  • 所以您在此处键入的代码工作正常吗?你在excel表中有一些数据来源吗?您将该数据复制到一个未向我们显示的数组中,并要求使用我们未见过的数据源的解决方案?有两种方法:1 - 以纯文本形式向我们展示您的数据(如果小于 1000),我们可以尝试提供帮助,或使用数据库

标签: php arrays forms search product


【解决方案1】:

试试这个

您不应该将变量放在引号中。

if (in_array($search, $newprod)) {
    echo "NewProdName";
}

【讨论】:

    【解决方案2】:

    从“搜索”中删除引号

    echo "You searched for the $search<BR>";
    

    会变成:

    echo "You searched for the ".$search."<BR>";
    

    然后

    if (in_array("$search", $newprod)) {
    

    会变成:

    if (in_array($search, $newprod)) {
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-10-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-29
      • 1970-01-01
      相关资源
      最近更新 更多