简体   繁体   English

在PHP while循环中获取#hashtag tweet计数

[英]Getting #hashtag tweet count in PHP while loop

I am creating the web application of twitter #hashtag search where I want to integrating the following code. 我正在创建Twitter #hashtag搜索的Web应用程序,我想在其中集成以下代码。

https://github.com/henrahmagix/tweetCount/blob/master/total_tweets.html https://github.com/henrahmagix/tweetCount/blob/master/total_tweets.html

(Note : Just copy/paste above code for getting demo) (注意:只需复制/粘贴上面的代码即可获得演示)

The above link contains the code for getting the number of tweets for any search (Useful for hashtag trending). 上面的链接包含用于获取任何搜索的推文数量的代码(对于标签趋势非常有用)。

And following is my code: 以下是我的代码:

<table width="100%">
        <tr>
            <th>#Hashtag</th>
            <th>Description</th>
            <th>Tags</th>           
            <th>Participants</th>
        </tr>

        <?php
        $i = 1;
        $j = 1;
        while ($row = mysqli_fetch_array($result)):            
            ?>

            <tr>                            
                <td class="hashtd"><a href="#"><?php echo "#" . $row['hashtag']; ?></a></td>
                <td class="hashtd"><?php echo $row['description']; ?></td>
                <td class="hashtd"><a href="<?php echo $row['id']; ?>" role="button" data-toggle="modal" class="show_modal_box">Show</a></td>
                <td class="hashtd">                                    
                    <script type="text/javascript">
                        submitTerms("<?php echo $row['hashtag']; ?>","1","0");
                    </script>
                    <div id="totalTweets">Total tweets: <span></span></div>
                    <div id="loading">Loading!</div>
                    <div id="pagesDone">Pages done: <span></span></div>
                </td>
            </tr>

            <?php
            $i++;
            $j++;
        endwhile;
    ?>
</table>

Here I am using tweetCount script for this : 在这里,我为此使用tweetCount脚本:

                <td class="hashtd">                                    
                    <script type="text/javascript">
                        submitTerms("<?php echo $row['hashtag']; ?>","1","0");
                    </script>
                    <div id="totalTweets">Total tweets: <span></span></div>
                    <div id="loading">Loading!</div>
                    <div id="pagesDone">Pages done: <span></span></div>
                </td>

In the tweetCount script they are using form and searching for one keyword after submitting the form and getting the tweetcount result from http://search.twitter.com/search.json?q= 在tweetCount脚本中,他们使用表单并在提交表单并从http://search.twitter.com/search.json?q=获取tweetcount结果后搜索一个关键字。

But I want to call that on page load thats why I am calling the submitTerms() function for getting the real time tweet count. 但是我想在页面加载时调用它,这就是为什么我调用submitTerms()函数来获取实时tweet计数的原因。 Because of I am calling script in while loop I cannot use "id" for totalTweet, loading and pagesDone div tag. 因为我在while循环中调用脚本,所以我无法对totalTweet,loading和pagesDone div标签使用“ id”。 I tried by adding "class" there but it's resulting same tweet count finally for all hashtag which is not correct. 我尝试在此处添加“类”,但最终所有不正确的标签都产生了相同的推文计数。

Hope you get this. 希望你能得到这个。 Need Help. 需要帮忙。

I recommend you to fork the total_tweets.html ans do some modifications to the JS code. 我建议您分叉total_tweets.html并对JS代码进行一些修改。 This way you can pass a param to specify the #id div you want to target. 这样,您可以传递参数来指定要定位的#id div。

// total_tweets function
function getTweets(search, page, pageTotal, **hashtag**) {
  $.getJSON( url + search + '&page=' + page + '&callback=?',
    function(data) {
      if( data.results.length != 0 && page != pageTotal ) {
        $('#pagesDone'** + hashtag + **' span').html(page);
        getData(data);
      }
      else {
        showTotal(**hashtag**);
      }
    }
  );
}

function showTotal(**hashtag**) {
  $('#totalTweets'** + hashtag + **' span').html(beforeCounter + totalTweets + afterCounter);
  $('#pagesDone'** + hashtag + **' span').html('0');
  totalTweets = 0;
  loading = false;
}

function submitTerms(**hashtag**) {
  $('#totalTweets'** + hashtag + **' span').html('');
  $('#pagesDone'** + hashtag + **' span').html('0');
  search = encodeURIComponent($('#query').prop('value'));
  page = $('#startPage').prop('value');
  pageTotal = $('#pageTotal').prop('value');
  if( search == '' ) {
    alert('Please enter search query');
    return;
  }
  if( page == 0 ) {
    alert('0 not allowed as start page');
    return;
  }
  loading = true;
  getTweets(search, page, pageTotal, **hashtag**);
}

Then in your php file you would call it: 然后在您的php文件中,您将其称为:

<td class="hashtd">                                    
    <script type="text/javascript">
        **submitTerms("<?php echo $row['hashtag']; ?>");**
    </script>
    <div id="totalTweets<?php echo $row['hashtag'];">Total tweets: <span></span></div>
    <div id="loading<?php echo $row['hashtag'];">Loading!</div>
    <div id="pagesDone<?php echo $row['hashtag'];">Pages done: <span></span></div>
</td>

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM