【问题标题】:How to show response from database to codeigniter view in row format如何以行格式显示从数据库到 codeigniter 视图的响应
【发布时间】:2017-12-25 04:36:48
【问题描述】:

我正在以行格式将数据库中的数据显示到 codeigniter 视图,但现在的问题是,如果我显示两个不同的 id 数据,它将合并并混淆以识别每个 id 数据。

这是它目前的显示方式:

但我想这样显示:

id:
1

job title
Business Analyst

Experience Required
3 years 

id:
2 

job title
Business Analyst

Experience Required
3 years 

这里是codeigniter视图表代码:

<table class="table table-bordered" style="margin-top:20px;" id="dataTable">
                    <thead>
                      <tr>
                        <th>
                        id
                        </th>
                      </tr>
                    </thead>
                    <tbody>
                    <?php
                    $ids = array();
                      foreach($resultadmin as $r){
                      $ids[] = $r['id'];
                    ?>
                      <tr id="banner_<?php echo $r['id'];?>">
                        <td>
                            <?php echo $r['id']; ?>
                        </td>   
                      </tr>
                    <?php
                      }
                    ?>
                    </tbody>
                </table>
                <table class="table table-bordered" style="margin-top:20px;" id="dataTable">
                    <thead>
                      <tr>
                        <th>
                        Job Title
                        </th>
                      </tr>
                    </thead>
                    <tbody>
                    <?php
                    $ids = array();
                      foreach($resultadmin as $r){
                      $ids[] = $r['id'];
                    ?>
                      <tr id="banner_<?php echo $r['id'];?>">
                        <td>
                            <?php echo $r['title']; ?>
                            <form method="" action="<?php  echo site_url(); ?>/Upload_Controller/" target="_blank"> 
                                <button type="submit" class="btn btn-success">Apply Job</button>
                            </form>
                        </td>
                      </tr>
                     <?php
                      }
                    ?>
                    </tbody>
                </table>

                <table class="table table-bordered" style="margin-top:20px;" id="dataTable">
                    <thead>
                      <tr>
                        <th>
                        Description
                        </th>
                      </tr>
                    </thead>
                    <tbody>
                    <?php
                    $ids = array();
                      foreach($resultadmin as $r){
                      $ids[] = $r['id'];
                    ?>
                      <tr id="banner_<?php echo $r['id'];?>">
                        <td>
                            <?php echo $r['description']; ?>
                        </td>
                      </tr>
                    <?php
                      }
                    ?> 
                    </tbody>
                </table>

                <table class="table table-bordered" style="margin-top:20px;" id="dataTable">
                    <thead>
                      <tr>
                        <th>
                        Summary
                        </th>
                      </tr>
                    </thead>
                    <tbody>
                    <?php
                    $ids = array();
                      foreach($resultadmin as $r){
                      $ids[] = $r['id'];
                    ?>
                      <tr id="banner_<?php echo $r['id'];?>">
                        <td>
                            <?php echo $r['summary']; ?>
                        </td>
                      </tr>
                    <?php
                      }
                    ?> 
                    </tbody>
                </table>
                <table class="table table-bordered" style="margin-top:20px;" id="dataTable">
                    <thead>
                      <tr>
                        <th>
                        Duties And Responsibilities
                        </th>
                      </tr>
                    </thead>
                    <tbody>
                    <?php
                    $ids = array();
                      foreach($resultadmin as $r){
                      $ids[] = $r['id'];
                    ?>
                      <tr id="banner_<?php echo $r['id'];?>">
                        <td>
                            <?php echo $r['responsibilities']; ?>
                        </td>
                      </tr>
                     <?php
                      }
                    ?>
                    </tbody>
                </table>

                <table class="table table-bordered" style="margin-top:20px;" id="dataTable">
                    <thead>
                      <tr>
                        <th>
                        Qualification
                        </th>
                      </tr>
                    </thead>
                    <tbody>
                    <?php
                    $ids = array();
                      foreach($resultadmin as $r){
                      $ids[] = $r['id'];
                    ?>
                      <tr id="banner_<?php echo $r['id'];?>">
                        <td>
                            <?php echo $r['qualification']; ?>
                        </td>
                      </tr>
                     <?php
                      }
                    ?>
                    </tbody>
                </table>

                <table class="table table-bordered" style="margin-top:20px;" id="dataTable">
                    <thead>
                      <tr>
                        <th>
                        Experience Required
                        </th>
                      </tr>
                    </thead>
                    <tbody>
                    <?php
                    $ids = array();
                      foreach($resultadmin as $r){
                      $ids[] = $r['id'];
                    ?>
                      <tr id="banner_<?php echo $r['id'];?>">
                        <td>
                            <?php echo $r['experience']; ?>
                        </td>
                      </tr>
                    <?php
                      }
                    ?> 
                    </tbody>
                </table>

                <table class="table table-bordered" style="margin-top:20px;" id="dataTable">
                    <thead>
                      <tr>
                        <th>
                        Details
                        </th>
                      </tr>
                    </thead>
                    <tbody>
                    <?php
                    $ids = array();
                      foreach($resultadmin as $r){
                      $ids[] = $r['id'];
                    ?>
                      <tr id="banner_<?php echo $r['id'];?>">
                        <td>
                            <?php echo $r['details']; ?>
                        </td>
                      </tr>
                    <?php
                      }
                    ?> 
                    </tbody>
                </table>

【问题讨论】:

  • 你能提供一个print_r($resultadmin); 以便我们可以在本地测试吗?问题是您为每个部分使用多个循环而不是一个。你用表格而不是 div 来做这件事也很奇怪,这种方式更难管理(至少以你想要的格式)

标签: mysql codeigniter


【解决方案1】:

这就是你可以做到的。你基本上需要一个主循环,如果它只是一个普通的表格或一堆 div 会更容易。

如果您想按名称排除字段,只需将其添加到 array('id', 'title')

<html>
    <head>
        <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
    </head>
    <body>
        <?php
        foreach ($resultadmin as $jobs) {
            $id = $jobs['id'];
            foreach ($jobs as $k => $v) {
                if (in_array($k, array('id', 'title'))) {
                    continue;
                }
                ?>
                <table class="table table-bordered" style="margin-top:20px;" id="dataTable">
                    <thead>
                        <tr>
                            <th>
                                <?php
                                if ($k == 'title') {
                                    echo 'Job Title';
                                } else {
                                    echo ucfirst($k);
                                }
                                ?>
                            </th>
                        </tr>
                    </thead>
                    <tbody>
                        <tr id="banner_<?php echo $id; ?>">
                            <?php if ($k == 'title') { ?>
                                <td>
                                    <?php echo $v; ?>
                                    <form method="" action="<?php //echo site_url();   ?>/Upload_Controller/" target="_blank"> 
                                        <button type="submit" class="btn btn-success">Apply Job</button>
                                    </form>
                                </td>
                            <?php } else { ?>
                                <td><?php echo $v; ?></td>   
                            <?php } ?>
                        </tr>
                    </tbody>
                </table>
                <?php
            }
            echo '<hr>'; // might make things more clear...
        }
        ?>
    </body>
</html>

$resultadmin 看起来像这样:

$resultadmin = array(
    0 => array(
        'id'               => 1,
        'title'            => '1Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'description'      => '1Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'summary'          => '1Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'responsibilities' => '1Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'qualification'    => '1Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'experience'       => '1Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'details'          => '1Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
    ),
    1 => array(
        'id'               => 2,
        'title'            => '2Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'description'      => '2Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'summary'          => '2Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'responsibilities' => '2Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'qualification'    => '2Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'experience'       => '2Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
        'details'          => '2Lorem ipsum dolor sit amet, consectetur adipiscing elit.',
    ),
);

【讨论】:

  • 嗨,如果我不想在这里显示 id,我必须更改代码。我在理解您的代码时遇到了困难。
  • 基本上,当您从存储在行和列中的数据库中呈现数据时,即使我理解您可能想要这样做的原因,您也会让您的生活变得困难!所以我们必须做这个嵌套的foreach,如果你想排除一个列我会更新我的答案。
  • 如果您不显示 id,我将非常感谢您。
  • 我做了一些更改,结果不包括显示“id”。首先,我防止在 select 语句中获取 id,例如“$this->db->select('title,description,summary,responsibility,qualification,experience,details');”。比我用 id 替换标题,例如“
  • 之前它也像您在原始帖子中一样应用了所有 tr id 的 id。请参阅您的新事物中banner_&lt;?php echo $id; ?&gt; 的部分,您将其更改为$title - 尽管我不确定如果您不将它用于某些 js 功能或其他任何东西,它甚至是必要的
猜你喜欢
  • 1970-01-01
  • 2017-01-03
  • 2019-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 1970-01-01
  • 2013-02-18
相关资源
最近更新 更多