gpt4 book ai didi

php - Joomla - 循环内的 MySQL 查询 - 我想这是不好的做法

转载 作者:行者123 更新时间:2023-11-29 06:34:56 25 4
gpt4 key购买 nike

我目前正在使用此代码输出结果数组:

<?PHP 
$db = JFactory::getDbo();

//Start date
$startdate = date('2010-05-21');

// End date
$end_date = date("Y-m-d");

$arraystring = '';
while (strtotime($startdate) <= strtotime($end_date)) {

$query = "SELECT * FROM table1 WHERE FROM_UNIXTIME(tm,'%Y-%m-%d') = '".$startdate."'";
$db->setQuery($query);
$replyAGS = $db->query();
$my_count = $db->getNumRows();

$arraystring .= $my_count.', ';

$startdate = date ("Y-m-d", strtotime("+1 day", strtotime($startdate)));

}

$arraystring = rtrim($arraystring, ', ');
?>

如您所见,我在从特定日期到当前日期的循环中执行数据库查询。假设这个循环是从 1 月开始运行的。 2007年1月2014 年意味着总循环数为 2557,这不是性能/服务器负载方面的严重问题吗?有没有更聪明的方法来做到这一点?

最佳答案

请尝试这个查询:

SELECT  FROM_UNIXTIME(tm,'%Y-%m-%d') AS `Day`
, COUNT(*) AS Visits
FROM `table1`
GROUP BY
FROM_UNIXTIME(tm,'%Y-%m-%d')

如果它对你有用,你必须添加:

WHERE FROM_UNIXTIME(tm,'%Y-%m-%d') > DATE('2010-05-21')

关于php - Joomla - 循环内的 MySQL 查询 - 我想这是不好的做法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25512088/

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