2013-10-21 19 views
0

我有一個表單將內容發佈到數據庫中。表單的現有數據庫內容將作爲值發佈到表單中。使用表單來顯示現有的數據庫內容。在提交最新的發佈數據後重新加載表單

提交時,數據庫被更新並以頁面必須重新加載的形式查看新更新的內容。

我已經在javascript中產生了一個重載腳本來重新載入提交頁面。頁面重新加載,但php內容不會更新。該頁面仍然需要手動重新加載才能顯示新內容。

這是我的表單的代碼。

<form method="POST" action=""> 
     <input type="text" name="title" <?php echo "value=\"" .$row['title']."\">"?> 
     <textarea id="editor" name="content"><?php echo $row['content']; ?></textarea> 
     <input type="submit" name="save" value="Save" class="submit" onclick="reload();"> 
    </form> 

的Javascript

function reload(){ 
document.location.reload(true); 
} 

我也曾嘗試

window.location = window.location.href; 

兩者都relaoding的頁面,但PHP沒有被刷新。

+0

爲什麼不ajax?如果您提交表單,該頁面會自動重新加載(或重定向,具體取決於您的'action'屬性) – Soundz

+0

是的,我的操作是保留在當前頁面上。我想要更新php表單值。我將如何去做這個與Ajax? – user1078385

回答

1

在選擇要在表單值中顯示的記錄之前,您應該首先使用提交的值更新數據庫。

使用<?php $_SERVER['PHP_SELF'] ?>進行表單操作。

  1. mysql_query(「UPDATE xyz SET title = $ _ request ['title'],... WHERE id = 1」)。

2.然後選擇查詢mysql_query(「SELECT * from xxx where id = 1」)。

這些可能會解決您重新加載以獲得新值的問題。

+0

感謝這只是切換選擇和更新統計信息的順序。 – user1078385

0

java腳本只在客戶端執行。 PHP是服務器端。你需要重新加載PHP。

<form method="POST" action="<<NAME OF YOUR PHP>>.php"> 
    <input type="text" name="title" <?php echo "value=\"" .$row['title']."\">"?> 
    <textarea id="editor" name="content"><?php echo $row['content']; ?></textarea> 
    <input type="submit" name="save" value="Save" class="submit" onclick="reload();"> 
</form> 
0

是否有理由需要用ajax來完成?如果你不需要Ajax,最好用php來處理它。阿賈克斯是更多的工作,並沒有像通過PHP提交表單一樣的成功率,有時奇怪的事情發生。保存表單後,您可以直接執行重定向:

header("Location: /routeToYourPage&id=".$ID,TRUE,303); 
相關問題