2015-02-08 99 views
-1

我有一個頁面有一個表格。它顯示選擇選項時,選擇一個選項用戶單擊按鈕,它運行updatephp.php查詢更新。我需要動態更新選擇並在屏幕上顯示「更新」或「無結果」等成功/錯誤消息,我該如何實現這一點。我不是很擅長阿賈克斯,請有人引導我。表格動態刷新php和ajax

displaytable.php

<form method="POST" action="choosecake.php"> 
    <select id="bakeryid" name="bakeryid"> 
     <option value="">Select</option> 
     <?php 
      $sql = "SELECT bakeryid, datefrom FROM cakes"; 
      $sqlresult = $link->query($sql); 
      $sqllist = array(); 
      if(mysqli_num_rows($sqlresult) > 0) { 
       while($row = mysqli_fetch_array($sqlresult)) 
       { 
       echo "<option value=".$row['bakeryid'].">".$row['datefrom']."</option>"; 
       } 
       $sqlencode = json_encode($sqllist); 
       echo $sqlencode; 
      } else { 
       echo 'No Results were found'; 
      } 
     ?> 
    </select> 
    <input type="hidden" value="<?php echo $bakeryid;?>" name="bakeryid"/> 
    <input type="submit" value="Submit" name="submit"/> 
</form> 
+0

我在這裏看不到ajax – cameronjonesweb 2015-02-08 23:45:07

回答

0

更改displaytable.php並生成蛋糕用id作爲鍵和名稱作爲值的數組。然後回顯可以直接在js中使用的json編碼數組。

只是爲了得到一個感覺,沒有測試它。

$(document).ready(function() { 
    window.setTimeout(function() { 
    $.ajax({ 
     url: "/displaytable.php" 
    }).done(function(data) { 
     var select = $('#selectId'); 
     select.empty(); 
     $.each(data, function(val, key) { 
     select.append($("<option></option>").attr("value", key).text(val); 
     }); 
    }); 
    }, 10000); // 10 seconds update interval 
}); 
+0

你需要第三個文件,例如: form.html只有表單和JS代碼。從那裏我們將取ajax。在displaytable.php中刪除表單。只是建立數組並回顯json_encode – Aitch 2015-02-09 00:07:47

+0

對不起,我似乎不明白 – user11119483 2015-02-09 00:24:41

+1

你應該讀一本書或做一些教程。這裏學習PHP是不可能的。你會不高興,我們不會很高興寫出長時間的對話,抱歉。 – Aitch 2015-02-09 00:34:01

0

如果您的頁面必須刷新(無ajax),請使用displaytable.php來處理表單提交。然後定義一個變量來保存你的成功或錯誤信息,並把這個變量在您想要的信息顯示,像

if(!empty($success_message)) { 
    echo "<h2>$success_message</h2>"; 
} 

當提交表單時,只需把值賦給$success_message,而且由於腳本處理表單提交與包含表單的腳本相同,上面代碼中的echo語句將在頁面重新加載時顯示消息。