我在stackoverflow上看到了这个嵌套的UL数组问题的一些变体,但我认为我的比其他更简单.我正在寻找一个简单的数组循环,允许无限量的主题(父母)与无限量的项目(儿童),如:
- Topic
- Item
- Item
- Item
- Item
我用以下代码尝试了这个:
$result = mysql_query("SELECT * FROM News");
$topicname = false;
while($row = mysql_fetch_array($result)) {
if (!$row['TopicID']) {
$row['TopicName'] = 'Sort Me';
}
if ($topicname != $row['TopicName']) {
echo '
- ' . $row['TopicName'] . '
- ';
$topicname = $row['TopicName'];
}
echo '';
echo '
' . $row['NewsID'] . '"';echo '';
}
if ($topicname != $row['TopicName']) {
echo '
';$topicname = $row['TopicName'];
}
?>
上面的代码呈现如下:
* Topic A
o News 1
o News ...
o News 51000
+ Topic B
# News 1
# News ...
# News 51000
* Topic C
o News 1
o News ...
o News 51000
+ Topic D
# News 1
# News ...
# News 51000
希望代码呈现以下内容:
* Topic A
o News 1
o News ...
o News 51000
* Topic B
o News 1
o News ...
o News 51000
* Topic C
o News 1
o News ...
o News 51000
* Topic D
o News 1
o News ...
o News 51000
任何想法将不胜感激!
马克解决的问题;有可能解决这个相关的问题吗?
嗨Mark:是的,这就行了!非常有帮助,谢谢.我想知道你是否能够帮助我把它带到另一个复杂程度.如果你认为在这个问题中提出问题是不合适的,请告诉我,我会另外提出,但你的代码是可靠的,所以我想我会跟进它.
使用上面相同的代码,我希望通过选择1列,2列,3列,4列,5列等(最多10个)为用户提供查看数据的选项.数据行将被分成单独的DIV标记,行计数将包括主题和新闻项.我将使用我的CSS控制DIV标签,但我想将行计数均匀地分组到指定数量的列的DIV标签中.我希望儿童新闻项目不要与其父母和群体分开,以尽可能地分开.如果有一个断点,其中1列可以比另一列长,并且它是偶数/任意的,优先级将转到最左边的列,如:这个迷你插图:
XXX
XX
X
我不知道这有多清楚,所以这里有一个例子.如果用户选择1列,他们将看到以下30行“数据”:
* Topic A
o News 1
o News 2
o News 3
* Topic B
o News 1
o News 2
o News 3
o News 4
* Topic C
o News 1
o News 2
o News 3
o News 4
o News 5
* Topic D
o News 1
o News 2
o News 3
* Topic E
o News 1
o News 2
o News 3
o News 4
* Topic F
o News 1
o News 2
o News 3
o News 4
o News 5
如果用户选择2列,他们会看到以下30行“数据”分为2组,每组包含DIV标签.巧合的是,这种情况很好地解决了:
* Topic A * Topic D
o News 1 o News 1
o News 2 o News 2
o News 3 o News 3
* Topic B * Topic E
o News 1 o News 1
o News 2 o News 2
o News 3 o News 3
o News 4 o News 4
* Topic C * Topic F
o News 1 o News 1
o News 2 o News 2
o News 3 o News 3
o News 4 o News 4
o News 5 o News 5
如果用户选择3列,他们会看到以下30行“数据”分为3组,每组包含DIV标签.间距开始变得棘手,我愿意接受建议.
* Topic A * Topic C * Topic E
o News 1 o News 1 o News 1
o News 2 o News 2 o News 2
o News 3 o News 3 o News 3
* Topic B o News 4 o News 4
o News 1 o News 5 * Topic F
o News 2 * Topic D o News 1
o News 3 o News 1 o News 2
o News 4 o News 2 o News 3
如果用户选择4列,他们会看到以下30行“数据”分为4组,每组包含DIV标签.同样,我甚至不知道如何为我的插图手动分配它,但是让孩子们留在父母身边很重要.
* Topic A * Topic C * Topic D * Topic F
o News 1 o News 1 o News 1 o News 1
o News 2 o News 2 o News 2 o News 2
o News 3 o News 3 o News 3 o News 3
* Topic B o News 4 * Topic E o News 4
o News 1 o News 5 o News 1 o News 5
o News 2
o News 3 o News 3
o News 4 o News 4