2013-03-21 2 views
0

У меня есть форма с более чем 50 различными выпадающими меню. Пользователям разрешено делать выбор из 8 из 50, поэтому мое желание для таблицы 2x4. Прямо сейчас у меня есть переменная $ selectCount, которая установлена ​​в 0. При каждом выпадающем меню я добавляю к переменной переменную 1 (++ $ selectCount). Тогда, у меня есть следующий код:Отображение данных формы (50 разных выпадающих списков) в таблице 2x4

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

Вы не сравниваете значения, но назначая их:

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

Смежные вопросы