在Codeigniter中显示数据库中的数据

时间:2018-01-01 13:02:08

标签: php html mysql database codeigniter

我在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;
}

它说错误的类型是:解析错误 消息:消息:语法错误,意外&#39; col&#39; (T_STRING),期待&#39;,&#39;或&#39;;&#39;

2 个答案:

答案 0 :(得分:2)

更改

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 } ?>

答案 1 :(得分:0)

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

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

<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;