0

我在我的网络中列出了一些电影,以便用户可以选择最好的电影。

我按类型对它们进行分类。

但是每种类型下的列表都太长了,我想制作两列标题。

每列中的电影数量将取决于类型。

所以我的代码现在是这样的:

$i = 1;
echo "<ul>";
foreach($arrayMovies  as $k=>$v) 
{
echo  "<li><input type=\"checkbox\" id=\"flat-$i\" name=\"$genre-$i\" value=\"$k\">
 <label for=\"flat-$i\">$v</label></li>";
 $i++;
} 
echo "</ul>";

这段代码显示了一个长长的列表,对于戏剧来说是这样的:

阿甘正传

小时

穆赫兰道

泰坦尼克号

.

.

假设对于戏剧类型,我每列需要两个标题:

<ul>
<li> Forest Gump</li>
<li> The Hours</li>
</ul>
 <ul>
<li> Mullholand Drive</li>
<li> Titanic</li>
</ul>

如何用我的代码实现这一点?

我可以使用css实现的第二列,我只需要<ul>在两个标题后添加一个新的。

请注意,每列两个标题中的第二个是动态数字*

*我会计算每个类型每个标题有多少行得到一个总数,然后我会做一半得到每列的标题数量(每个类型的标题数量是偶数)

非常感谢!

4

2 回答 2

1

只需UL在迭代的一半插入这些标签:

$arrayMovies = array( 'Forest Gump', 'The Hours', 'Mullholand Drive', 'Titanic', 'The Intouchables' );
$arrayMoviesCount = count( $arrayMovies );

echo '<ul>';
for( $i = 0; $i < $arrayMoviesCount; $i++ )
{
    if( ceil( $arrayMoviesCount / 2 ) == $i )
    {
        echo '</ul><ul>';
    }
    echo sprintf( '<li>%s</li>', $arrayMovies[$i] );
}
echo '</ul>';

上述代码的输出:

<ul>
    <li>Forest Gump</li>
    <li>The Hours</li>
    <li>Mullholand Drive</li>
</ul>
<ul>
    <li>Titanic</li>
    <li>The Intouchables</li>
</ul>

ceil对于具有奇数条目的列表,这是必需的;usingceil将导致第一个列表多了一个条目。如果附加(非偶数)条目应显示在第二个列表中,则可以替换ceilfloor.

于 2013-09-11T14:39:15.057 回答
0

抱歉之前的回答,我不明白你到底想做什么。

如果问题是:“我想对电影进行分类”,那么请改用关联数组。

否则,如果您只想在两列中显示两部电影,我建议您这样做:

$i = 1;
$flagCounter = 0;
echo "<ul>";
foreach($arrayMovies  as $k=>$v) 
{
if ($flagCounter != 2) {
   echo  "<li><input type=\"checkbox\" id=\"flat-$i\" name=\"$genre-$i\" value=\"$k\">
 <label for=\"flat-$i\">$v</label></li>";
 $i++;
   $flagCounter++;
}
else {
   echo "</ul><ul>";
   echo  "<li><input type=\"checkbox\" id=\"flat-$i\" name=\"$genre-$i\" value=\"$k\">
 <label for=\"flat-$i\">$v</label></li>";
 $i++;
   $flagCounter = 1;
}

} 
echo "</ul>";

老实说,我真的不相信这个解决方案,这只是你的情况的一种解决方法。如果您对更好的数组感兴趣,请尝试使用具有如下结构的关联数组:

$yourArray = array ( "Category" => array ("movie1","movie2") [and so on...] );

这样,您将能够更清晰地显示所有内容,能够访问电影和类别!

另外,您为什么选择使用列表而不是表格来显示这些?

而且..变量$genre从何而来?这是你所有的代码还是什么?如果没有,您能否向我们提供您的阵列的结构?

于 2013-09-11T14:32:26.070 回答