【问题标题】:Showing data from database in Codeigniter在 Codeigniter 中显示数据库中的数据
【发布时间】:2018-01-01 13:02:07
【问题描述】:

我在 Codeigniter 中显示数据时遇到问题,我尝试从示例中编写代码,但出现 遇到未捕获的异常

error

查看:

<div class="row clearfix">
        <?php
        foreach ($devices as $de) {
            echo"
        <div class="col-lg-4 col-md-4 col-sm-6 col-xs-12">
                <div class="card">
                    <div class="header bg-red" align="center" id="bID">
                        <h3 class="ketersediaan" id="ket">
                            Tersedia
                        </h3>
                    </div>
                    <div class="body" align="center">
                        $de->device
                        <br><br><br><br>
                        $de->capacity
                    </div>
                    <br>
                </div>
            </div>";
        }
            ?>

型号:

class Model_pelayan extends CI_Model
{

    function cekmeja(){
    $devices = $this->db->get('devices');
    return $devices;
}

它说错误的类型是:Parse Error 消息:消息:语法错误,意外的 'col' (T_STRING),需要 ',' 或 ';'

【问题讨论】:

    标签: php html mysql database codeigniter


    【解决方案1】:

    改变

    echo" 
    

    echo ' 
    

    并用';关闭它

    由于内部 html 使用",所以它会破坏 php 的字符串并给您语法错误。

    另一个好方法是关闭 php 标签并使用

    <?=$de->device?> 
    

    以及您用来避免语法错误的其他变量。

    你的情况是这样的:

       foreach ($devices as $de) {
       ?>
        <div class="col-lg-4 col-md-4 col-sm-6 col-xs-12">
                <div class="card">
                    <div class="header bg-red" align="center" id="bID">
                        <h3 class="ketersediaan" id="ket">
                            Tersedia
                        </h3>
                    </div>
                    <div class="body" align="center">
                        <?=$de->device?>
                        <br><br><br><br>
                         <?=$de->capacity?>
                    </div>
                    <br>
                </div>
            </div>
    
      <?php } ?>
    

    【讨论】:

      【解决方案2】:

      正如已经指出的那样,您尝试echo 的字符串格式不正确。这是解决问题的另一种方法。

      通常,与尝试为echo 编写长而复杂的字符串相比,进出PHP 处理器更容易。考虑到这一点,请考虑以下代码。

      <div class="row clearfix">
          <?php
          //drop into php processor for one line of code
          foreach($devices as $de) {
              ?>
              <div class="col-lg-4 col-md-4 col-sm-6 col-xs-12">
                  <div class="card">
                      <div class="header bg-red" align="center" id="bID">
                          <h3 class="ketersediaan" id="ket">
                              Tersedia
                          </h3>
                      </div>
                      <div class="body" align="center">
                          <?= $de->device; ?>
                          <br><br><br><br>
                          <?= $de->capacity; ?>
                      </div>
                      <br>
                  </div>
              </div>
              <?php
              // back to php processor to close the foreach block
          }
      

      它更易于阅读,并且避免了不小心用错位的引号破坏了字符串。

      它实际上也减少了处理器密集度,因为 HTML 直接进入输出缓冲区,而不是 PHP 必须从文本文字创建一个字符串,然后 echo 将该字符串发送到输出缓冲区。

      如果你不熟悉这个语法

      <?= $de->device; ?>
      

      这和写是一样的

      <?php echo $de->device; ?>
      

      您可能还想考虑使用 PHP:控制结构的替代语法。阅读它HERE。以下与前面所示的相同,但使用了替代语法。

      <div class="row clearfix">
          <?php //drop into php processor for one line of code
          foreach($devices as $de) :
              ?>
              <div class="col-lg-4 col-md-4 col-sm-6 col-xs-12">
                  <div class="card">
                      <div class="header bg-red" align="center" id="bID">
                          <h3 class="ketersediaan" id="ket">
                              Tersedia
                          </h3>
                      </div>
                      <div class="body" align="center">
                          <?= $de->device; ?>
                          <br><br><br><br>
                          <?= $de->capacity; ?>
                      </div>
                      <br>
                  </div>
              </div>
              <?php   // back to php processor to close the foreach block
          endforeach;
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-12-21
        • 2017-10-05
        • 2015-06-13
        • 1970-01-01
        • 2013-11-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多