[英]execute query onload page
我想在onload期间执行查询。 我该怎么办? 这是我的代码。 这是我要执行的查询。
<?php
mysql_query("UPDATE `requests` SET `stat_id`= 3 WHERE `proj_id`='".$_GET['projid']."' and DATE(`req_date`)='".$_GET['date']."'");
?>
而且我有一个JavaScript
<script type="text/javascript">
$(document).ready(function(){
$('input#approve').click(function(){
var date = $(this).parent().attr('id');
var projid = $(this).parent().attr('class');
window.location.href="index.php?page=requests&date="+date+"&projid="+projid+"";
});
});
</script>
单击批准按钮时,页面将刷新,但查询未执行。
您可以使用ajax相同,将其写在java脚本中
var date = $(this).parent().attr('id');
var projid = $(this).parent().attr('class');
$.ajax({
type: "POST",
url: "index.php",
data: "{stat_id: 3,proj_id:projid,Date:date}",
success: function(result) {
alert(result);
}
结果将为布尔值或0/1形式。
$(document).ready(function(){
$('input#approve').click(function(){
var elem = $(this).parent(),
date = elem.attr('id'),
projid = elem.attr('class');
$.get("index.php", { page: 'requests', date: date, projid: projid }, function() {
console.log('updated!')
})
});
});
您的mysql_query
将返回一个值,您可以利用它来查看问题是否在查询中以及是否正在执行。
<?php
//Output GET Params
echo $_GET['date'] . " " . $_GET['projid'];
//Escape Slashes in Date http://php.net/manual/en/function.addslashes.php
$date = addslashes($_GET['date']);
$result = mysql_query("UPDATE `requests` SET `stat_id`= 3 WHERE `proj_id`='".$_GET['projid']."' and DATE(`req_date`)='".$date."'");
//Check to see if an error has occurred. If so output.
if (!$result) {
die('Invalid query: ' . mysql_error());
}
?>
Javascript :(硬编码值)
<script type="text/javascript">
$(document).ready(function(){
$('input#approve').click(function(){
//Hard code for now to ensure you have accurate data
var date = "12/12/12";
var projid = 15;
window.location.href="index.php?page=requests&date="+date+"&projid="+projid+"";
});
});
您可以在index.php
使用以下代码来更新表
<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("my_db", $con);
mysql_query("UPDATE Persons SET stat_id=3 WHERE proj_id='".$_POST['projid']."' and DATE(`req_date`)=DATE('".$_POST['date']."')");
mysql_close($con);
?>
然后使用ajax调用此页面
$.ajax({
type: "POST",
url: "Index.php",
data: { projid: projid , date: date }
}).done(function( msg ) {
alert( "Data Saved: " + msg );
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.