簡體   English   中英

JavaScript,Php,AJAX,MySql網站上的Upvote按鈕不起作用。 我究竟做錯了什么?

[英]Upvote button on website with JavaScript, Php, AJAX, MySql not working. What am I doing wrong?

我正在嘗試從MySql數據庫獲取的文章列表上創建upvote / downvote按鈕。 這些按鈕在您按下按鈕的意義上起作用,並且它會獲得商品的ID。 但是我無法從文章頁面獲取ID到php投票頁面。 當我按下按鈕時,數據庫不會進行投票。 我究竟做錯了什么?

    <script type="text/javascript">
    $(function() {

    $(".vote").click(function() 
    {


    var id = $(this).attr("id");
    var name = $(this).attr("name");
    var dataString = 'id='+ id ;
    var parent = $(this);


    if(name=='up')
    {
      alert('you upvoted on '+ dataString);

    $(this).fadeIn(200);
    $.ajax({
       type: "POST",
       url: "weblectureupvote.php",
       data: dataString,
       cache: false,

       });

    }
    else
    {
    alert('you downvoted on '+ dataString);
    $(this).fadeIn(200);
    $.ajax({
       type: "POST",
       url: "weblectureupvote.php",
       data: dataString,
       cache: false,

     });
   }
    return false;
      });

    });
    </script>

這是php文件:

<?php

$pid = $_POST['id'];

try {



$db = new PDO('mysql:host=' . $config['db']['host'] . ';dbname=' . $config['db']['dbname'], $config['db']['username'], $config['db']['password']);
$db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);


$result=mysql_query("SELECT * FROM database WHERE pid = '$pid' ") or die(mysql_error());

while ($row = mysql_fetch_array($result)) {
        // temp user array
        $lecturelist = array();
        $lecturelist["pid"] = $row["pid"];
        $lecturelist["upvote"] = $row["upvote"];
        $lecturelist["downvote"] = $row["downvote"];
        $lecturelist["vote"] = $row["vote"];

      }



$upvote= $row["upvote"];
$downvote = $row["downvote"];
$vote = $row["vote"];
$upvote = $upvote + 1;


$query = $db->prepare('UPDATE database SET upvote = :upvote WHERE pid = :pid');
$query->execute(array(  
  ':upvote'  => $upvote,
  ':pid'    => $pid
)); 
$query = $db->prepare('UPDATE database SET vote=:vote  WHERE pid = :pid');
$query->execute(array(  
  ':vote'  => $vote,
  ':pid'    => $pid
)); 


} catch(PDOException $e) {
  echo $e->getMessage();
}
?>
data: {id: id}

這將為您的php文件提供一個“ id”變量(這是第一個id),並帶有一些值(來自第二個id)

現在

$pid = $_POST['id'];

這應該工作,因為您沒有向服務器發送“太多”消息

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM