我在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;
}
它说错误的类型是:解析错误 消息:消息:语法错误,意外&#39; col&#39; (T_STRING),期待&#39;,&#39;或&#39;;&#39;
答案 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;