2013-10-21 20 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); 
相关问题