所以我试图弄清楚如何从我从上一页获得的数组中显示表中的数据。下面是代码用于检索barang_id值,下面的代码工作正常,我用它来显示" barang_id"我从上一页得到的;
<?php
if(isset($_POST['barang_id'])){
if (is_array($_POST['barang_id'])) {
foreach($_POST['barang_id'] as $value){
echo $value . " ";
}
} else {
$value = $_POST['barang_id'];
echo $value;
}
}
?>
下面是截图,其中有两个来自barang_id的值,即15和16,
我的问题是我是如何执行select语句然后在表格中显示我检索到的ID,下面是我尝试的代码,它不起作用,所以我卡住了。我试着谷歌搜索,但我的理解太弱,因为我无法帮助自己。
<table class="table table-striped table-bordered">
<tr>
<th>ID</th>
<th>Name</th>
<th>Description</th>
</tr>
<?php
$sql2 = "SELECT * FROM `tbl_barang` WHERE `barang_id` IN (' . implode(',', array_map('intval', $value)) . ')";
$result = $mydb->query($sql2);
while ($detailrow = $result->fetch_array()) {
?>
<tr>
<td><?php echo $detailrow['barang_id']; ?></td>
<td><?php echo $detailrow['name']; ?></td>
<td><?php echo $detailrow['description']; ?></td>
</tr>
<?php } ?>
</table>
任何帮助表示赞赏。提前谢谢你
答案 0 :(得分:1)
替换您的查询
$sql2 = "SELECT * FROM `tbl_barang` WHERE `barang_id` IN (' . implode(',',$value)) . ')";
使用以下代码
$sql2 = "SELECT barang_id, name, description FROM tbl_barang WHERE barang_id IN (" . implode(',', $_POST['barang_id']) . ")";
之前请确保 $ _ POST ['barang_id'] 不应为空。