如何在数据表中将 group_concat() 列显示为一列?

Posted

技术标签:

【中文标题】如何在数据表中将 group_concat() 列显示为一列?【英文标题】:How to display group_concat() column in datatable as in one column? 【发布时间】:2019-06-22 05:03:31 【问题描述】:

我正在按数据表显示表格。因此,我的数据库表中有一个group_concat() 列,其中包含多个图像文件。我想在datatable 中将其显示为单列。当我给出正常语法时,它不起作用。有人帮忙吗?

我是这样的

但我想要这样的东西,图片列中的所有多个图像

这是我给出的用于显示数据表的脚本代码

 <script type="text/javascript">

    $(document).ready(function() 
        $('#dis').dataTable( 
        "lengthMenu": [[2,5,8,10, 25, 50, -1], [2,5,8,10, 25, 50, "All"]]

     );
     );
</script>

这是获取表的mysql查询:

<?php
$conn =mysqli_connect("localhost", "root", "", "project");

$sql="SELECT product.*,images.*, group_concat(images.image) as imag FROM product INNER JOIN images on product.ppid=images.pid group by product.ppid";
?>

这是表格的详细信息:

<table id="dis" class="display" style="width:100%">
    <thead>
    <tr>  
<th>ID</th>  
<th>Name</th>
<th>Product Description</th>  
<th>Category</th>  
<th>Subcategory</th>
<th>Images</th>
<th>Edit</th>
</tr>  
</thead>
<?php

$result = mysqli_query($conn, $sql);
    foreach($result as $row)

    ?>
    <tr>
        <td><?php echo $row['ppid'];?></td>
        <td><?php echo $row['pname'];?></td>
        <td><?php echo $row['prodes'];?></td>
        <td><?php echo $row['cat'];?></td>
        <td><?php echo $row['sucat'];?></td>

<?php
foreach(explode(',',$row['imag']) as $url)
 ?>

   <td>
    <?php  $imageURL = 'pictures/'.$url;?>
   <img src="<?php echo $imageURL; ?>"    /><br>
      <?php $t= $row['id'];?>
    <a href="dele.php?id=<?php echo $t ; ?>">Delete </a> &nbsp;&nbsp;
</td>

我已经包含了所有的脚本,css 链接....所以我怎么能把它作为一个数据来获取

【问题讨论】:

请你显示你得到什么输出和你想要什么输出 我已经编辑了问题...我按照你说的添加了输出图片 【参考方案1】:

请试试这个: 在您的代码中,您在 foreach 循环中重复 &lt;td&gt;

你必须将&lt;td&gt;标签放在foreach循环之外

<td>  
    <?php
    $img_arr = explode(',',$row['imag']);
    if(!empty($img_arr))
        foreach($img_arr as $url)
          
            $imageURL = 'pictures/'.$url;
            $t= $row['id'];?>
            <img src="<?php echo $imageURL; ?>"    /><br>
            <a href="dele.php?id=<?php echo $t ; ?>">Delete </a> &nbsp;&nbsp;
            <?php 
           
    
    ?>
</td>

【讨论】:

谢谢...我已经解决了...我注意到我如何放置 td 的问题...之后我得到了正确的答案...无论如何谢谢:))))))

以上是关于如何在数据表中将 group_concat() 列显示为一列?的主要内容,如果未能解决你的问题,请参考以下文章

group_concat 以及如何在 sqlite 中使用行号

MySQL利用GROUP_CONCAT()实现一列数据转化为一行数据

MySQL利用GROUP_CONCAT()实现一列数据转化为一行数据

MySQL利用GROUP_CONCAT()实现一列数据转化为一行数据

MySQL利用GROUP_CONCAT()实现一列数据转化为一行数据

在 Codeigniter/MYSQL 中将选定属性添加到 group_concat 输出