2017-06-23 46 views
0

所以即时通讯尝试弄清楚如何从前一页获得的数组中显示表中的数据。下面是代码是用来检索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两个值的截图,

enter image description here

我的问题是如何做的是我执行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

array_map('intval',$ value)的用途是什么'''?为什么不同于上面的示例代码? –

+1

回应sql语句并编辑您的问题。 –

回答

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']应该不是空的。

+0

感谢您的帮助,帮助我了解更多 – abcd

+0

您在拼接和使用报价时所遇到的问题 – Mukesh

相关问题