在2x4表格中显示表格数据(50个不同的下拉列表)

问题描述:

我有一个包含超过50种不同下拉菜单的表格。用户只能从50个中选择8个,因此我希望获得2x4表格。现在,我有一个设置为0的变量$ selectCount。每次选择下拉菜单时,我都会将1(++ $ selectCount)添加到变量中。然后,我有以下代码:在2x4表格中显示表格数据(50个不同的下拉列表)

if ($selectCount = 2) { 
echo "</tr><tr>";} 
if ($selectCount = 4) { 
echo "</tr><tr>";} 
if ($selectCount = 6) { 
echo "</tr><tr>";} 

不知什么原因对我来说,即使在情况下,其中$ selectCount的值是奇数,表行结束创建的1x8表。

下面是代码的,以更好地详细的较大部分的问题:

<tr> 
<?php if(!empty($_POST['one'])) { 


echo "<td><img src='image folder/acct.jpg' style='display:inline; -moz-border-radius: 10px; -webkit-border-radius: 10px; -webkit-box-shadow:0 0 20px blue; -moz-box-shadow: 0 0 20px blue; box-shadow:0 0 20px;'/>"; 
echo "<p style='color:white; margin-left: 7px; font-size: 14px;'>" . $_POST['one'] . "</p></td>"; 

$selectCount = ++$selectCount; 

if ($selectCount = 2) { 
echo "</tr><tr>";} 
if ($selectCount = 4) { 
echo "</tr><tr>";} 
if ($selectCount = 6) { 
echo "</tr><tr>";} 

} 

?> 

<?php if(!empty($_POST['two'])) { 



echo "<td><img src='image folder/alyt.jpg' style='display:inline; -moz-border-radius: 10px; -webkit-border-radius: 10px; -webkit-box-shadow:0 0 20px blue; -moz-box-shadow: 0 0 20px blue; box-shadow:0 0 20px;'/>"; 
echo "<p style='color:white; margin-left: 7px; font-size: 14px;'>" . $_POST['two'] . "</p></td>"; 

$selectCount = ++$selectCount; 

if ($selectCount = 2) { 
echo "</tr><tr>";} 
if ($selectCount = 4) { 
echo "</tr><tr>";} 
if ($selectCount = 6) { 
echo "</tr><tr>";} 

} 

?> 

<?php if(!empty($_POST['three'])) { 


echo "<td><img src='image folder/ar.jpg' style='display:inline; -moz-border-radius: 10px; -webkit-border-radius: 10px; -webkit-box-shadow:0 0 20px blue; -moz-box-shadow: 0 0 20px blue; box-shadow:0 0 20px;'/>"; 
echo "<p style='color:white; margin-left: 7px; font-size: 14px;'>" . $_POST['three'] . "</p></td>"; 

$selectCount = ++$selectCount; 

if ($selectCount = 2) { 
echo "</tr><tr>";} 
if ($selectCount = 4) { 
echo "</tr><tr>";} 
if ($selectCount = 6) { 
echo "</tr><tr>";} 



} 

?> 

<?php if(!empty($_POST['four'])) { 


echo "<td><img src='image folder/blgs.jpg' style='display:inline; -moz-border-radius: 10px; -webkit-border-radius: 10px; -webkit-box-shadow:0 0 20px blue; -moz-box-shadow: 0 0 20px blue; box-shadow:0 0 20px;'/>"; 
echo "<p style='color:white; margin-left: 7px; font-size: 14px;'>" . $_POST['four'] . "</p></td>"; 

$selectCount = ++$selectCount; 

if ($selectCount = 2) { 
echo "</tr><tr>";} 
if ($selectCount = 4) { 
echo "</tr><tr>";} 
if ($selectCount = 6) { 
echo "</tr><tr>";} 

} 

?> 

任何帮助不胜感激。

你是不是比较值,但给它们分配:

if ($selectCount = 2) { 

应该是:

if ($selectCount == 2) { 

或:

if ($selectCount === 2) { 

第一if语句将2你的变量,总是评估为true

这适用于所有的比较。

你也可以减少3个if语句1:

if (($selectCount % 2) === 0) { 
    echo "</tr><tr>"; 
} 

这基本上说:如果你的变量通过2所得的余数为0

+1

谢谢jeroen指出这个疏忽! – user1809737 2013-03-21 15:13:18