我已經花了數小時解決這個問題,並在網上搜索答案,但沒有發現任何幫助我的東西。如果語句不起作用while循環裏面的循環
因此,我正在爲酒店網站製作過濾器,而酒店搜索的標準之一就是酒店所在的區域。我使用GET方法:
<?php if (isset($_GET['District1'])){
$district1= ($_GET["District1"]);
}else ($district1=0);
if (isset($_GET['District2'])){
$district2= ($_GET["District2"]);
}else ($district2=0);
if (isset($_GET['District3'])){
$district3= ($_GET["District3"]);
}else ($district3=0);
if (isset($_GET['District4'])){
$district4= ($_GET["District4"]);
}else ($district4=0);
?>
其中$ district1,$ district2,$ district3,$ district4是城市的4個不同區域。
我所試圖做的是通過使用for循環(在變量名的末尾數字將被1升建區變量:$ district1 .. .. 。 。)
然後把這些區變量中一個如果子句其內部while循環如下:
<?php
$districts_filter_query="SELECT * FROM districts_table ";
$districts_filter_result = mysql_query($districts_filter_query, $connect);
$districts_filter_row = mysql_fetch_array($districts_filter_result);
for($count = 1; $count <= 4 ; $count++){
do {
$district_name = $districts_filter_row['district_name'];
$district_value = $districts_filter_row['district_value'];
echo '
<label for="group13"> <p '; ?> <?php
if (eval(' return $district'.$count.';') !=0){echo 'class="greenBG"';}
else {echo ' class="checkbox" ';}?> <?php echo ' >
<input type="checkbox" name="District'.$count.'" id="group13" value="'.$district_value.'"
onClick="this.form.submit();" ';?>
<?php if (eval (' return $district'.$count.';') !=0){echo ' checked ';};?><?php echo '/> '.$district_name.'
</p>
</label> ';
}
while($districts_filter_row = mysql_fetch_array ($districts_filter_result));
}
?>
問題在這裏,我猜:eval('return $ district'。$ count。';'),通過這個我嘗試構造分區變量名稱。但它不起作用。
一切完美的作品,如果我用這個代碼:
<label for="group1"> <p <?php
if ($district1!=0){echo 'class="greenBG"';}
else echo 'class="checkbox"';?>>
<input type="checkbox" name="District1" id="group1" value='1013' onClick="this.form.submit();"
<?php if ($district1!=0){echo 'checked ';};?>/> district1
</p>
</label>
<label for="group2"> <p <?php
if ($district2!=0){echo 'class="greenBG"';}
else echo 'class="checkbox"';?>>
<input type="checkbox" name="District2" id="group2" value='1014' onClick="this.form.submit();"
<?php if ($district2!=0){echo 'checked ';};?>/> district2
</p>
</label>
<label for="group3"> <p <?php
if ($district3!=0){echo 'class="greenBG"';}
else echo 'class="checkbox"';?>>
<input type="checkbox" name="District3" id="group3" value='1015' onClick="this.form.submit();"
<?php if ($district3!=0){echo 'checked ';};?>/> district3
</p>
</label>
<label for="group4"> <p <?php
if ($district4!=0){echo 'class="greenBG"';}
else echo 'class="checkbox"';?>>
<input type="checkbox" name="District4" id="group4" value='1016' onClick="this.form.submit();"
<?php if ($district4!=0){echo 'checked ';};?>/> district4
</p>
</label>
但是,這並不適合我,因爲有超過30個地區,它需要佔用大量的時間和精力做任何微小的變化編碼。
如果你能幫我解決這個問題並節省我的時間,我會非常感激。謝謝,希望我的問題很清楚。
完美!你做了我的一天,男人! :) 謝謝! – user2170133