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

问题描述 投票:-2回答:2

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

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

php html mysql database codeigniter
2个回答
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 } ?>

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;
© www.soinside.com 2019 - 2024. All rights reserved.