在Jquery IF语句中查询

时间:2013-04-19 09:22:36

标签: php jquery

我有一个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)语句中运行查询?

2 个答案:

答案 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时,文件仍未保存。