0

我有一个包含 50 多个不同下拉菜单的表单。用户只能从 50 个中的 8 个中进行选择,因此我希望使用 2x4 表。现在,我有一个设置为0的变量$ selectCount,任何时候选择下拉菜单,我都会在变量中添加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>";}

}

?>

任何帮助是极大的赞赏。

4

1 回答 1

1

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

if ($selectCount = 2) {

应该:

if ($selectCount == 2) {

或者:

if ($selectCount === 2) {

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

这适用于您的所有比较。

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

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

这基本上是说:如果你的变量的余数除以20.

于 2013-03-21T15:08:40.383 回答