php - 通过 Post 传递数组并从数据库中提取数据

标签 php mysql

所以我通过 POST 数组传递先前表单中的信息。当我尝试从数据库中提取信息时,它没有找到任何记录。然而,数据转储显示“pre_fodder”数组具有值。数组“item”变为空。帮助=(

HTML

<div>
    stuff here  <br />
    <input type="checkbox" name="pre_fodder[]" value="<? item[item_id} ?>" />
</div>
<div>
    stuff here  <br />
    <input type="checkbox" name="pre_fodder[]" value="<? item[item_id} ?>" />
</div>
<div>
    stuff here  <br />
    <input type="checkbox" name="pre_fodder[]" value="<? item[item_id} ?>" />
</div>

PHP

$i = 0;
$a = count($_POST['pre_fodder']);

while ( $i < $a ) {
    print_r ($_POST[pre_fodder][$i]);
    $_POST[pre_fodder][$i] += 0;
    print_r ($_POST[pre_fodder][$i]);

    $data = "SELECT * FROM items WHERE inventory_id='$_POST[pre_fodder][$i]'"; 
    $result = mysqli_query($data); 
    $item = mysqli_fetch_assoc($result);    

    print_r($item);

    $i++;

 }

最佳答案

您不必循环,您可以使用 IN 子句在单个查询中完成

$sql = "SELECT * FROM items WHERE inventory_id IN ('" . implode("','", $_POST['pre_fodder']) ."')";
$rs = mysql_query($sql);

while ($r = mysql_fetch_assoc($rs)) {
    print_r($r);
}

关于php - 通过 Post 传递数组并从数据库中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18224254/

相关文章:

php shell_exec() - ampps - scrapy 命令的权限被拒绝

PHP/HTML div 没有关闭

mysql - 在搜索引擎上为每个单词添加分数

php - 验证散列密码的长度(注册)php

php - 什么是 PhP 的好 noop

php - 将多个数组合并为一个具有唯一值的数组php

php - 具有动态字段数的 MySQL 设计

javascript - 未处理的拒绝错误 : WHERE parameter “number_phone” has invalid “undefined” value

PHP数据库查询结果错误

php - 安装 apache2 后启动 Apache HTTP 服务器失败