gpt4 book ai didi

PHP:在图表上绘制来自 MySQL 的数据点(Google 图表)

转载 作者:行者123 更新时间:2023-11-30 00:54:51 24 4
gpt4 key购买 nike

我正在尝试查询我们的数据库以获取与用户定义的查询匹配的所有记录,并将数据存储在格式化数组中。问题是,我正在获取所有记录,但不太确定如何正确处理数据。我已经为此工作了几天,但在尝试了各种想法后还没有取得多大进展。希望这里有人能分享一些见解。

下面的代码执行查询并开始将返回的数据处理到数组中:

    $msg_vol = array();
$xy_coords = array();
$tweet_count = 1;

$query = "SELECT created_at, tweet_id FROM `tweets` WHERE tweet_text LIKE '%{$safe_q}%' AND created_at < now() - 300";
$tweets = mysqli_query($db, $query);
confirm_query($tweets);

while ($tweet = mysqli_fetch_assoc($tweets)) {
$created_at = $tweet['created_at'];
$timestamp = strtotime($created_at);
$created_at_no_seconds = date('Y-m-d H:i', $timestamp);

if(!in_array($created_at_no_seconds, $xy_coords)) {
$created_at = $tweet['created_at'];
$timestamp = strtotime($created_at);
$created_at_no_seconds = date('Y-m-d H:i', $timestamp);

if(!in_array($created_at_no_seconds, $xy_coords)) {
$xy_coords = array(0 => $created_at_no_seconds, array('tweet_count' => $tweet_count, 'retweets' => 0));
} else {
// $created_at_no_seconds exists in array
// update array
$msg_vol[$created_at_no_seconds] = array('tweet_count' => $tweet_count++, 'retweets' => 0);
}
}
return $msg_vol;

我正在将 $created_at 重新格式化为分钟,因为目前我只对最后 5 分钟(300 秒)的数据感兴趣,并且希望将每一分钟分隔成它自己的关联数组。 $created_at_no_seconds 变量可能包含要添加到数组中的重复条目。因此,我尝试使用 in_array() 来尝试检查它是否存在,如果不存在,则仅将其添加到数组中。我在这方面还不太走运。

print_r($msg_vol) 提供以下输出(慢慢接近所需的输出):

[0] => Array
(
[created_at] => 2013-12-15 19:09
[tweet_count] => 1
[retweets] => 0
)

[2013-12-15 19:09] => Array
(
[tweet_count] => 11
[retweets] => 0
)

[1] => Array
(
[created_at] => 2013-12-15 19:09
[tweet_count] => 1
[retweets] => 0
...
[12] => Array
(
[created_at] => 2013-12-15 19:10
[0] => Array
(
[tweet_count] => 12
[retweets] => 0
)

)

[2013-12-15 19:10] => Array
(
[tweet_count] => 20
[retweets] => 0
)

[13] => Array
(
[created_at] => 2013-12-15 19:10
[0] => Array
(
[tweet_count] => 12
[retweets] => 0
)

)
...

(我现在不处理转发,所以我只是将 0 添加到转发数组作为占位符)。

我正在尝试对其进行格式化,以便在一个数组中包含唯一的日期(精确到分钟),其中存储 tweet_count 的值。上面的示例以日期作为关联键,其中 $k => $v 是我想要实现的目标。但是,当我不断地用 [0]、[1] 填充数组时。 [12]、[13]等

我还接近吗?这真是一个兔子洞……而且,它开始变成一个黑暗而孤独的地方。 :(

最佳答案

而不是像这样使用数组推送

array_push($msg_vol, $xy_coords);

为什么不尝试

$array[] = $xy_coords;

对于重复项,为什么不在 mysql 查询中使用SELECT DISTINCT

关于PHP:在图表上绘制来自 MySQL 的数据点(Google 图表),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20661631/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com