所以我通过 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/