【发布时间】:2012-05-01 17:06:13
【问题描述】:
运行后我不断得到一个奇怪的列表:
<?php
$query_Category = "SELECT * FROM blog_categories ORDER BY category ASC";
$getCategory = mysql_query($query_Category) or die(mysql_error());
?>
<div id="sheader" style="">Categories</div>
<div class="sbody" style="color:#000 !important;">
<?php
do {
?>
<div><?php echo $row_getCategory['category'];?></div>
<?php
$cat = $row_getCategory['cat_id'];
$query_Subcategory = "SELECT * FROM blog_subcategories WHERE primcat_id = '$cat' ORDER BY subcategory ASC";
$getSubCategory = mysql_query($query_Subcategory) or die(mysql_error());
$row_getSubCategory = mysql_fetch_assoc($getSubCategory);
$str = $row_getSubCategory['subcategory']; $subcategory = explode(',', $str);
foreach ($subcategory as $arraysubcat)
{
echo '<div>' . $arraysubcat . '</div>';
}
} while ($row_getCategory = mysql_fetch_assoc($getCategory));
?>
</div>
<?php mysql_free_result($getCategory); ?>
我有一个包含 id 和类别的类别表和一个包含 id、子类别和主要类别 ID 的子类别表。 我运行它,它首先随机显示 foreach。
【问题讨论】:
-
我只是觉得你的代码格式看起来很有趣。 O.o
$subcategory数组是否按照您对explode()的期望输出? -
@Blake 我来这里是期待一个 PHP 语法讨厌的节日。
-
我为您修正了代码格式。在我看来它仍然很有趣,但这就是beta.phpformatter.com 所说的样子。
-
您查询类别但不对其执行任何操作,然后查询子类别并打印出一行的爆炸,然后您从类别中获取行并且不执行任何操作。那是你的意图吗?因为根据您的代码,即使这样也行不通。 $cat 变量正在从未定义的数组 $row_getCategory 中获取其值。哦,等等......你正在定义它......在你的代码末尾......好吧......你明白了我,我完全迷路了
-
像进入/退出php模式那样拆分语句会让人难以阅读。
标签: php loops foreach while-loop