我在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;
}
它说错误类型是:解析错误消息:消息:语法错误,意外'col'(T_STRING),期待','或';'
更改
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 } ?>
正如已经指出的那样,你有一个畸形的字符串,你正在尝试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;