【发布时间】:2012-02-02 03:55:51
【问题描述】:
我有 2 个名为 authors 和 books 的表。作者必须有一个标志。我必须显示这个,比如作者姓名、标志,然后是那个作者的所有书籍等等。 books 表包含一个字段(show_logo),如果该作者的所有书籍的 show_logo 为 0,则 logo 将显示在开头(即在作者姓名之后),否则 logo 将显示在该书之后(show_logo 1)。如果任何书的 show_logo 为 1,那么它将在该书之后正确显示,否则不会..使用下面的代码
<?php
if ($author) {
foreach ($$author as $key => $val) {
?>
<tr style="background-color: #58353C;"><?php
if ($val['$author_image']) {
?>
<td><img src="<?= base_url(); ?>uploads/<?= $author; ?>" style="width: 90px;height: 90px;"/></td>
<td style="color: #F5E78F;" colspan="4"><b><?= $val['$author_name']; ?></td>
<?
foreach ($val['books'] as $key => $val1) {
?>
<tr style="background-color:<?= $color ?>">
<?php
if ($val1['author_image']) {
?>
<td style="padding-left: 20px;color: black; "><img src="<?= base_url(); ?>uploads/<?= $val1['author_image']; ?>" style="width: 75px;height: 75px;" /></td>
<?php } ?>
<td style="color: black;"><?= $val1['author_title']; ?></td>
<td width="150px" style="text-align: left;color: black;"><a class="more" style="color: black;font-size: 11px;" href="<?= site_url('author/author_view/' . $key); ?>" rel="facebox">More Details..</a></td>
<?
if ($val1['show_logo'] == '1') {
if ($val['author_logo']) {
?></tr>
<tr style="background-color:<?= $color; ?>" on>
<td colspan="5"><img src="<?= base_url(); ?>uploads/<?= $val['author_logo']; ?>" style="width: 998px;height: 175px;" /></td>
</tr>
<?
}
} else {
?></tr> <?
}
$counter++;
}
}
}
}
?>
【问题讨论】:
-
提示:不要使用简码
<?,请做一个(小提琴)[jsfiddle.net]更好地理解 -
您能否编辑您的代码,以便摆脱大括号,因为无论如何您都在转义您的 php
-
on在这行<tr style="background-color:<?= $color; ?>" on>中是什么意思?此外,在 foreach 循环中,作者旁边还有 2 个$。 -
另外,你能解释一下你的问题是什么吗?您发布了一些代码,那么您到底在哪里卡住了,或者您期望什么没有看到?
标签: php codeigniter foreach-loop-container