我有一个jquery保存脚本,如:
naam = prompt('Give a name for your file.');
if(naam != null)
{
var div_contents = $("#print").html();
$.post("save.php", { 'contents': div_contents,'naam':naam });
alert('Your file is save as : '+ naam);
window.location.replace("index.php?id=latest");
}
else
{
alert('Not saved');
}
我在save.php中保存了一个div,它在数据库中创建了一个新的id
我想要的是
window.location.replace("index.php?id=latest");
id = latest必须成为(id =上次保存文件的ID)。
我试过
$q = "select MAX(id) from Moodboards";
$result = mysql_query($q);
$data = mysql_fetch_array($result);
$MBId = $data[0];
window.location.replace("index.php?id="+MBId);
和
var MBID =
<?php
$q = "select MAX(id) from Moodboards";
$result = mysql_query($q);
$data = mysql_fetch_array($result);
$MBId = $data[0];
echo $MBId ?>
window.location.replace("index.php?id="+MBId);
他们都失败了。
如何在if(naam!= null)语句中运行查询?
答案 0 :(得分:2)
首先你必须修复你的jQuery POST ...你没有使用POST响应这是错误的..你应该等待它然后继续其他行动
naam = prompt('Give a name for your file.');
if(naam != null)
{
var div_contents = $("#print").html();
$.post("save.php", { 'contents': div_contents,'naam':naam }, function(responde){
if(responde.id)
window.location.replace("http://yoururl.com/index.php?id="+responde.id);
else
alert("No responde...");
}, "json");
}
else
{
alert('Not saved');
}
为了获得更好的效果,我建议你在帖子/回复中使用JSON数据。 在您的PHP代码中,您必须设置:
<?php
$q = "select MAX(id) from Moodboards";
$result = mysql_query($q);
$data = mysql_fetch_array($result);
$MBId = $data[0];
echo json_encode(array('id'=>$MBId));
exit();
?>
P.S。对于window.location.replace,请设置您的完整网址:"http://localhost/index.php?id="
或至少在其开头放置斜杠"/index.php?id="
答案 1 :(得分:0)
解决方案
if(naam != null)
{
var div_contents = $("#print").html();
$.post("save.php", { 'contents': div_contents,'naam':naam });
alert('Uw moodboard is opgeslagen als '+ naam);
window.location.replace("index.php?id=<?php $q = "select MAX(id) from Moodboards";
$result = mysql_query($q);
$data = mysql_fetch_array($result);
$MBId = ($data[0] + 1); echo "$MBId";?>");
}
这对我而言,我不需要制作一个jquery var我可以回应php中的变量。
我必须添加1,因为在加载页面时会加载sql查询。
因此,当我获得最高ID时,文件仍未保存。