2012-12-10 29 views
-1

我現在有一個下拉菜單框,從我的MySQL數據庫需要從列的元素,並將其顯示在下拉框中。用戶也可以從五個預先確定的選項中進行選擇。點擊提交後,更改將反映在數據庫中。一個while循環下拉菜單框,並且具有提交按鈕是這樣,而循環之外

有我的代碼沒有問題,但我想,使其對用戶更直觀。目前,在點擊提交,頁面刷新,頁面失去了它的滾動位置(一次刷新,頁面轉到頂部)。

一個人怎麼會做,而循環之外提交按鈕?我想有在頁面底部的提交按鈕,這意味着這將是迭代之外while循環,對不對?我怎麼能這樣做?

附件是我的代碼:

<? 
if (isset($_POST['formSubmit'])){ 
    $rating = $_POST['rating']; 
    $accountID = $_POST['accountID']; 

mysql_query("UPDATE Spreadsheet SET rating='$rating' WHERE accountID='$accountID'"); 
} 

while ($row = mysql_fetch_array($query)){ ?> 

<form name ="rating" method ="POST" action ="" > <? 

echo "<input type = 'hidden' name = 'accountID' value = '" . $row['accountID'] . "' >"; 

?> 
    <select name="rating"> 

     <? $values = array('0 - No rating','1 - Very Bad','2 - Bad','3 - Average','4 - Above Average'); 

     for ($i =0; $i < count($values); $i = $i + 1){ 
      echo "<option value = \"$i\""; 

      if ($row['rating'] == $i) { 
       echo "selected=\"selected\""; 
      } 

      echo ">" . $values[$i] . "</option>"; 

     } 

     ?> 

     </select> 
     <input type ="Submit" name ="formSubmit" value ="Submit" /> 
     </form> 
} 

回答

0

我建議你來解決這一問題與AJAX。不要將它作爲表單提交,而應將其作爲AJAX請求發送。例如:

$('select[name="rating"]').change(function() { 
    var rating = $("select[name="rating"] option:selected").val(); 
    $.post(
     'YOUR-URL.php', 
     {'rating' : rating}, 
     function(response) { 
      //do what you got to do 
     } 
    ) 
}); 
+0

謝謝。我想我也需要這樣做。 什麼我需要知道/安裝,如果我現在有一個index.php文件? – faroskalin