第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

如何將值從 php 數(shù)據(jù)返回到 ajax 成功

如何將值從 php 數(shù)據(jù)返回到 ajax 成功

PHP
MMTTMM 2023-07-08 15:40:30
我什至不確定我的標(biāo)題是否正確。無(wú)論如何,我正在創(chuàng)建一個(gè)頁(yè)面,用戶可以在其中提交消息/帖子,目前正在嘗試找出如何使用短輪詢(即 setinterval)在特定秒數(shù)內(nèi)更新每個(gè)帖子的點(diǎn)贊數(shù) - 這是有意為之現(xiàn)在。這只是一種做法,我知道我沒(méi)有使用參數(shù)化查詢,并且短輪詢并不理想,但我現(xiàn)在將其擱置。這可能是我最長(zhǎng)的帖子,抱歉,但我被告知這比提供半生不熟的輸入/問(wèn)題方便得多。我有這個(gè)Jquery:function refreshPostLikes() {  var postid_array = []; //establish array for postid  $(".post .postid").each(function () {    //get id for each post    var postid = $(this).attr("value");    postid_array.push(postid); //place all the postid in an array  });  updatePostLikes(postid_array); //pass the array}function updatePostLikes(postid) {  setInterval(function () {    $.ajax({      url: "/main/refresh-like.php",      type: "post",      data: { postid: postid }, //send postid array to php file      success: function (data) {        alert(data); //testing because I don't know how      },    });  }, 20000); //just 20 seconds interval}refreshPostLikes(); //run function這是我的PHP 文件,refresh-like.php!<?phprequire_once '../connection.php';$postID = trim(json_encode($_POST['postid']), '[]'); //convert array to string and remove square brackets to be a valid value for MySQL query$likeQuery  = "select count(*) as total_likes from likes where post_id in ('.$postID.') group by post_id order by post_id desc"; //query number of likes$likeResult = mysqli_query($conn, $likeQuery);while ($row = mysqli_fetch_assoc($likeResult)) { //loop through the query    $likes = $row['total_likes'];    echo $likes; //output number of likes per post and pass it to ajax data success}?>使用上面的代碼,如果我有三個(gè)帖子(混合有 1、2 和 0 個(gè)喜歡),Ajax 成功下的警報(bào)(如我指出的“正在測(cè)試,因?yàn)槲也恢廊绾巍保@示一條消息:1、2 , 0,這是正確的!這些數(shù)字集中在一個(gè)警報(bào)中,僅供參考。現(xiàn)在我的問(wèn)題是如何將這些值傳遞回 Likes div 下的每個(gè)帖子?我的意思是postid1有1個(gè)贊,postid2有2個(gè)贊,postid3有0個(gè)贊。通常我選擇單個(gè)元素并使用 .html 傳遞,但是如果返回的 php 數(shù)據(jù)是全部(即 2, 1, 0),該怎么辦。我知道我需要在這里做出調(diào)整:success: function(data) {    alert(data); //testing because I don't know how}
查看完整描述

1 回答

?
慕無(wú)忌1623718

TA貢獻(xiàn)1744條經(jīng)驗(yàn) 獲得超4個(gè)贊

首先,您需要某種表格來(lái)匹配帖子的喜好。然后你就可以更新相應(yīng)帖子的div的內(nèi)容了.likes。


又快又臟


由于您的 PHP 已經(jīng)返回"1, 2, 0"posts和的字符串1,因此只需在 Javascript 中簡(jiǎn)單地拆分該字符串,然后按順序更新 div 即可:23.likes


success: function(data) {

  var likes = data.split(", "); // likes will hold ["1", "2", "0"]

  $('.likes').each(function(i, likeDiv) {

    $(likeDiv).text(likes[i]);

  });

}

這適用于您的特定情況,但依賴于這樣一個(gè)事實(shí):您的 HTML 的排序方式與您的帖子在數(shù)據(jù)庫(kù)中的排序方式完全相同。所以不太有彈性。


相反,我建議您更改 PHP,使其同時(shí)具有點(diǎn)贊數(shù)和帖子 ID,并將整個(gè)內(nèi)容作為 JSON 進(jìn)行回顯


JSON


PHP


<?php

require_once '../connection.php';


$postID = trim(json_encode($_POST['postid']), '[]'); //convert array to string and remove square brackets to be a valid value for MySQL query


$likeQuery  = "select count(*) as total_likes from likes where post_id in ('.$postID.') group by post_id order by post_id desc"; //query number of likes

$likeResult = mysqli_query($conn, $likeQuery);


// build output collection

$output = [];

while ($row = mysqli_fetch_assoc($likeResult)) { //loop through the query

    $output[] = [

        'post_id' => $row['post_id'],

        'likes'   => $row['total_likes']

    ];

}


echo json_encode($output);

// [{"post_id": 1, "likes": 1}, {"post_id": 2, "likes": 2}, {"post_id": 3, "likes": 0}]'

?>

JS


success: function(data) {

  var postsLikes = JSON.parse(data);

  for (var i = 0; i < postsLikes.length; i++) {


    // find corresponding post

    var $post = $('.postid').filter(function(j, postIdDiv) {

      return postIdDiv.textContent == postsLikes[i].post_id

    }).parent()


    // update likes count in post

    $post.find('.likes').text(postsLikes[i].likes)

  }

}


查看完整回答
反對(duì) 回復(fù) 2023-07-08
  • 1 回答
  • 0 關(guān)注
  • 147 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)