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

时间:2013-03-21 15:04:28

标签: php forms increment

我有一个包含超过50种不同下拉菜单的表单。用户只能从50个中的8个中进行选择,因此我对2x4表的需求。现在,我有一个变量$ selectCount,设置为0.每次选择下拉菜单时,我都会向变量添加1(++ $ selectCount)。然后,我有以下代码:

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>";}

}

?>

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

您不是要比较值,而是分配它们:

if ($selectCount = 2) {

应该是:

if ($selectCount == 2) {

或:

if ($selectCount === 2) {

第一个if语句将2分配给您的变量,并始终评估为true

这适用于所有比较。

您还可以将3 if个语句减少为1:

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

基本上说:如果变量的余数除以2,则为0