0

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

}

?>

どんな助けでも大歓迎です。

4

1 に答える 1

1

値を比較するのではなく、値を割り当てます。

if ($selectCount = 2) {

次のようにする必要があります。

if ($selectCount == 2) {

また:

if ($selectCount === 2) {

最初のステートメントは変数にif割り当てられ、常に評価されます。2true

これはすべての比較に適用されます。

if3 つのステートメントを 1つに減らすこともできます。

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

基本的には、変数を で割った余り20.

于 2013-03-21T15:08:40.383 に答える