【问题标题】:Updating Database from Javascript by calling PHP script通过调用 PHP 脚本从 Javascript 更新数据库
【发布时间】:2013-04-25 04:15:50
【问题描述】:

我一直在努力争取这个年龄

我正在建立一个有活动墙的网站。除了喜欢和不同的按钮外,我的所有东西都在工作。我让他们目前只是显示我喜欢或不喜欢的文本框

<a href='#' onclick='like()'>Like</a>

<a href='#' onclick='unlike()'>Unlike</a>

现在这些调用这些脚本

<script>
    function like()
    {
        alert("I like");
        document.getElementById("p1").innerHTML="<a href='#' onclick='unlike();'>Unlike</a> | 1 Life<hr/>";
    }
    function unlike()
    {
        alert("Dont like anymore");
        document.getElementById("p1").innerHTML="<a href='#' onclick='like();'>Like</a> | 0 Lifes<hr/>";
    }
</script>

我有一个 php 脚本,它连接到数据库并添加或删除我知道有效的类似内容。我不需要向 javascript 返回任何内容,但是如何调用给出 postID 和用户名的 php 脚本??


好的,所以我用这个做了一些修改。但它仍然不起作用:S

==LikeUnlink.php==

<?php
include 'phpScripts/OpenConnection.php';    
$mode = $_GET['mode'];
$username = $_GET['username'];
$postID = $_GET['LikeID'];
echo $username."<br/>";
echo $mode."<br/>";
echo $postID."<br/>";
if($mode == 0)
{
    $query = "INSERT INTO tbl1Ups (Username, ActivityID) VALUES ('$username', $postID)";    
}
else
{
    $query = "DELETE FROM `tbl1Ups` WHERE Username='$username' AND ActivityID=$postID";
}
$result = mysql_query($query) or die(mysql_error());

==MembersHome.php==

<script type="text/javascript">
function process(LikeId, Username, currentLikes, likeUnlike)
{
//your validation code
    $.ajax(
    {
    type: 'GET',
        url: LikeUnlike.php, //file where like unlike status change in database
    data:{like:LikeId, username:Username, mode:likeUnlike},
    success: function(data)
        {
            alert('It Works');
    }
    } );
}
</script>

==点赞链接==

<a href='Javascript:void(0)' onclick='process(".$row['ID'].", \"".$username."\", ".$likes.", 0);'>$linkText</a>

【问题讨论】:

  • 你想将数据从 js 传递到 php 吗?和 php 会将数据传递给数据库?
  • AJAX 调用可能是最好的...如果您不希望它返回任何内容,那么您可以返回一些垃圾并忽略它。
  • 你应该调用ajax来实现这个
  • 是的,我想要 js -> php -> 数据库

标签: php javascript html mysql


【解决方案1】:

试试这个

<script type="text/javascript">
function process(LikeId) { 
//your validation code
$.ajax( {
        type: 'POST',
        url: LikeUnlike.php, //file where like unlike status change in database
        data:{like:LikeId},
        success: function(data) {
            //code you want to do after successfull process
        }
    } );
}
</script>

修改html

<a href='Javascript:void(0)' onclick='process(1)'>Like</a>
<a href='Javascript:void(0)' onclick='process(0)'>Unlike</a>

【讨论】:

  • 您可能想要进行一些验证以确保它实际上是成功的,而不是假设成功的 AJAX 调用是成功的。不过,这取决于 OP。
  • @Jared 是的,可以通过 LikeUnlike.php 的响应进行检查,我只是给出了他可以做的方式......我不应该给出所有代码吗?
  • 是的,如果 OP 不能自己做的话,它的服务器部分是另一个问题。
  • 所以我说要发布到我将使用数据的 php 文件是否正确:{}
猜你喜欢
  • 2016-08-10
  • 1970-01-01
  • 1970-01-01
  • 2010-10-12
  • 2014-06-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-28
相关资源
最近更新 更多