我在作为网站开发人员的工作中使用CodeIgniter和PyroCMS。使用Pyro比我更久的一些同事正在使用Pyro标签。它们似乎非常有用,即使我不知道它们是如何工作的。无论如何,我试图在PHP数组中使用这些标签,但Pyro似乎并不喜欢这样。
有问题的代码:
{{ eods }}
<tr>
<td value="{{ user_id }}" class = "span1">{{ user_id }}</td>
<td value="{{ eod }}" class = "span2">{{ eod }}</td>
<td value="{{ mit_id }}" class = "span2"><?php echo $this->db->get_where('mit', array('id' => {{ mit_id }})); ?></td>
<td value="{{ date }}" class = "span2">{{ date }}</td>
<td value="{{ time }}" class = "span2">{{ time }}</td>
</tr>
{{ /eods }}
我收到错误:
解析错误:语法错误,第48行的C:\ repos \ mit-eod \ addons \ shared_addons \ modules \ mit \ views \ history.php中的意外“{”
PHP echo代码中的错误与php代码(第5行)一致。我可以确认它是该行的第三个开口大括号,是{{ mit_id }}
中的第一个。
为什么会这样?
答案 0 :(得分:1)
您不能在PHP代码中使用标记,因为PHP代码将首先解释为PHP代码,而不是模板的一部分。您应该在控制器或模型中执行逻辑,并将$ eods变量中从DB获得的任何内容传递给模板。
另外,
<?php echo $this->db->get_where('mit', array('id' => $thing)); ?>
将获得MySQL(可能)结果,而不是单个值。你至少需要做一些事情:
$var = $this->db->get_where('mit', array('id' => $thing))->row()->thing;
但如果没有找到行,则会抛出错误。 MySQL连接可能会更好。
祝你好运。