2014-07-03 68 views
0

我很難考慮如何在打開的頁面edit.php上設置默認選擇值。所以當我打開edit.php時,它會在從數據庫中獲取值的選擇框中顯示不同的值。現在第一個值是空白的。我想打開edit.php頁面選擇下拉列表將從數據庫colour表中選擇默認值。因此,如果mysql colour表比默認選擇值爲3,那麼它將比它的s select default value Blue. It it s 4更爲灰色。在頁面打開時的默認選擇值

SQL

colour = 3

代碼:main.php

$query = mysql_query("SELECT `colour` FROM `properties`"); 
$row = mysql_fetch_assoc($query); 

if($row['colour'] == 1) { echo ''; } 
    else if($row['colour'] == 2) { echo '<b>Colour:</b> Brown'; } 
    else if($row['colour'] == 3) { echo '<b>Colour:</b> Blue'; } 
    else if($row['colour'] == 4) { echo '<b>Colour:</b> Gray'; } 

代碼:edit.php

<form action="edit.php" method="post" > 
    <select name="colour"> 
      <option value="1" <?php if (@$_POST['colour']=='1') {echo "selected='selected'"; } ?>></option> 
      <option value="2" <?php if (@$_POST['colour']=='2') {echo "selected='selected'"; } ?>>Brown</option> 
      <option value="3" <?php if (@$_POST['colour']=='3') {echo "selected='selected'"; } ?>>Blue</option> 
      <option value="4" <?php if (@$_POST['colour']=='4') {echo "selected='selected'"; } ?>>Gray</option> 
</select> 
<input type="submit" value="Submit"/> 
</form> 
+0

目前尚不清楚你想要達到的目標。 –

+0

永遠不會像用戶在$ _POST表格之前那樣做'@'符號。這不是有效的,並且靜靜地失敗。 – szymanskilukasz

+0

我想在打開edit.php頁面時實現這一點,select下拉列表將從不同的數據庫值中選擇默認值。如果MySQL數據庫'colour'會比edit.php顯示爲藍色。如果mysql數據庫'顏色'會比edit.php默認的4選擇下拉值將是灰色。 – user3284181

回答

0

您需要通過編輯頁面上的顏色變量。 例如:

<option value="1" <?=($color==1)?'selected="true"':'' ?> ></option> 
<option value="2" <?=($color==2)?'selected="true"':'' ?> >Brown</option> 

等等...

這裏,$color從數據庫中選擇價值來。

如果您想從數據庫獲取值,則不需要POST變量。

0

在客戶端執行此操作會更容易。您需要更改

<select name="colour"> 

<select name="colour" id="colour"> 

然後把這個代碼在你edit.php

<script> 
window.onload = function(){ 
    var select = document.getElementById("colour"); 
    select.value = 3; //now, 3 is the default value of your select 
}; 
</script>