我进行了搜索并检查了一些建议,这个网站在撰写标题时给了我但没有成功。这是我的问题: 在我的页面上,我通过AJAX加载所有链接,其中一个页面用于从mysql加载数据的配置文件。在个人资料页面的底部,您可以输入代表时间的数字。执行此操作时,我希望页面使用输入的数字更新数据库并更新当前页面。由于我使用AJAX,我只是无法添加一个网址,我希望它转到或重新加载整个页面,因为那样我最终会在起始页面。
我已经创建了一个名为“add_time()”的函数,我想调用它来计算和更新数据库,我不能通过我的表单加载,没有一些我不幸不知道的技巧。
我也想知道如何将它与我的AJAX load_page(url)-script结合起来,这样它就可以同时进行这两个动作。 div已经设置了,但是我已在配置文件页面中标记了切换所在的位置。
个人资料页面:
<?php
$user = $_COOKIE["user"];
$host = "//";
$username = "//";
$password = "//";
$db_name = "//";
$tbl_name = "user_stats";
mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db("$db_name") or die("cannot select DB");
$sql = "SELECT * FROM $tbl_name WHERE username='$user'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
if ($count == 1) {
while ($row = mysql_fetch_array($result)) {
$user = $row[username];
$level = $row[level];
$hours = $row[hours];
}
}
echo "<h1>$user</h1>";
?>
<table id="profile_form">
<tr>
<td id="profile_username">Användare: <?php echo $user; ?></td><td id="profile_level"><?php echo "Level: " . $level . "<br />Hours: " . $hours; ?></td>
</tr>
<tr>
<td id="profile_picture">
Profil picture.
</td>
</tr>
<tr>
<td id="profile_title">
Title:
</td>
</tr>
</table>
<!-- Div-break. Guess we just call the upper part "profile" and the lower part "add_time" for now.-->
<form action="" method="post">
Lägg till tid: <input type="text" name="new_time" />
<input type="hidden" name="prev_time" value="<?php echo $time; ?>" />
<input type="submit" value="Lägg till tid" />
</form>
从外部文件调用的函数:
function add_time() {
$new_time = $_POST["new_time"] + $_POST["prev_time"];
$user = $_COOKIE["user"];
$host = "//";
$username = "//";
$password = "//";
$db_name = "//";
$tbl_name = "user_stats";
$con = mysql_connect("$host", "$username", "$password") or die("cannot connect");
mysql_select_db("$db_name") or die("cannot select DB");
$sql = mysql_query("UPDATE user_stats SET hours = '$new_time'
WHERE username = '$user'");
mysql_close($con);
echo $new_time . "<br />";
}
我希望发送代码有所帮助。现在一团糟,对不起。我想我已经挖了很多东西,我可能会让自己感到困惑并乱跑乱跑,所以我还有第二个想法没有挖到这个兔子洞里。
答案 0 :(得分:1)
Jquery是你的朋友。我不确定我理解你的问题但是。
你可以创建一个ajax.php文件来处理所有你的请求,包括你想要的函数,并调用u upoad $ _GET ['function']。例如。
<强> ajax.php 强>
<?
if(isset($_GET['function'])){
require_once('update.php');
addtime();
}
?>
将回显addtime()的结果。
<强> jquery的强>
$("#PLACEHOLDER_DIV").load('ajax.php?function=addtime');
告诉我你在numberd列表中需要什么,这样我就能告诉你确切的代码。
跳它有帮助。 :)
答案 1 :(得分:1)
我希望我明白你的问题。如果使用jquery,则可以阻止表单的默认行为。而不是提交您的表单并转到另一个页面,您可以阻止它并通过ajax提交数据。我不确切知道它是如何使用纯JavaScript的,但jquery非常简单。