-2

我有一个 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 from last saved file)。

我试过

$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) 语句中运行查询?

4

2 回答 2

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();
?>

PS对于window.location.replace,请设置您的完整网址:"http://localhost/index.php?id="或至少在其开头放置斜杠"/index.php?id="

于 2013-04-19T09:35:38.647 回答
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 时,该文件尚未保存。

于 2013-04-19T11:30:46.070 回答