我在ajax函数中传输php数据时遇到问题。 我想要的是发送一个html表单,其中我有一个来自mysqli_fetch_array的php值。该值是帖子的编号,这是我的主键。 作为javascript的新手,我真的不知道如何做到这一点。 这是我的onclick功能代码:
<script>
function foo () {
$.ajax({
url:"vote.php?no_post=<?php $post ['no_post'] ?>", //what I'd like to do
type: "POST", //request type
success:function(result)
{
alert(result);
}
});
}
</script>
在php页面中,我有这个获取数组,这里我们专注于名为&#34; up&#34; :
if(!isset($_POST['more']))
{
while($post = mysqli_fetch_array($res))
{
echo
'<p>'.
'<center>'.
'<img src="image/'.$post['image_post'].'">'.
'</center>'.
'<br/>'.
'<label>'.$post['desc_post'].'</label>'.
'<p>'.
'<a id="darkBlue" href="account.php?no_post='.$post['no_post'].'">'.'@'.$post['login'].'</a>'.
'<p>'.
'<label>'.$post['time'].'</label>'.
'<p>'.
'<label>'.$post['vote_post'].' points'.'</label>'.
'<footer>';
if (isset($_SESSION['login']))
{
echo '<button class="btn btn-success" name="up" id="up" onclick="foo()">+</button>'.
' '.
'<button class="btn btn-danger" name="down" id="down">-</button>'.
' '.
'<a href="commentaire.php?no_post='.$post['no_post'].'" class="btn btn-warning">Comment</a>'.
'<hr>';
}
EDIT ***
最后我的php页面执行sql请求:
<?php
if (isset($_POST['up'])) // 2 buttons on the first html FORM
{
$req="UPDATE post SET vote_post=vote_post+1
WHERE no_post=".$_GET['no_post'].""; //picking up the value from my url
$res=mysqli_query($con,$req);
}
else if (isset($_POST['down']))
{
$req2="UPDATE post SET vote_post=vote_post-1
WHERE no_post=".$_GET['no_post'].""; //picking up the value from my URL
$res2=mysqli_query($con,$req2);
}
else
echo 'Error';
?>
谢谢你的帮助。
答案 0 :(得分:1)
您在下面的行中错过了echo
。
url:"vote.php?no_post=<?php echo $post['no_post'] ?>", //what I'd like to do
修改强>
正如您使用POST
方法一样,它应该在data
中传递,如:
$.ajax({
url:"vote.php",
type: "POST", //request type,
data: {
postCount : <?php echo $post['no_post']; ?>
}
success:function(result)
{
alert(result);
}
});
答案 1 :(得分:0)
你可以尝试这样的事情:
<script>
function foo () {
$.ajax({
url:"vote.php",
type: "POST", //request type
data: {no_post: <?php echo '$post['no_post']'?>}
success:function(result)
{
alert(result);
}
});
}
</script>
最好使用data : [...]
而不是在url中使用参数