Php 从上一页获取数组值并显示在表中

Php 从上一页获取数组值并显示在表中,php,mysql,Php,Mysql,所以我想知道如何在表中显示我从上一页得到的数组中的数据。下面是用于检索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 {

所以我想知道如何在表中显示我从上一页得到的数组中的数据。下面是用于检索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>
感谢您的帮助。提前感谢

替换您的查询

$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']) . ")";

在此之前,请确保$\u POST['barang\u id']不应为空。

数组映射'intval',$value的用途是什么?为什么与上面的示例代码不同?回显sql语句并编辑您的问题。您在串联和引用用法中提出的问题