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

dldeef67  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(268)

我在codeigniter中显示数据时遇到问题,我尝试从一个示例中编写代码,但遇到了一个未捕获的异常
错误
查看:

<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 message:message:syntax error,意外的'col'(t_string),期望','或';'

ih99xse1

ih99xse11#

正如已经指出的,您有一个错误的字符串,您正在尝试 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:控制结构的替代语法。在这里读一下。以下内容与前面所示相同,但使用了替代语法。

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

zpjtge222#

改变

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

相关问题