1

我有 2 个按钮执行发布操作并设置一个隐藏变量,用于设置 MySQL 查询以根据日期过滤数据库

if result = today

    $query = "SELECT  id,customer_name,CAST( `register_date` AS DATE ) AS dateonly,status,
    DATE_FORMAT(book_date, '%m/%d/%y') FROM  table WHERE   book_date 
    BETWEEN (CURDATE() - INTERVAL 1 DAY) AND CURDATE()";


if result = week

    $query = "SELECT  id,customer_name,CAST( `register_date` AS DATE ) AS dateonly,status,
    DATE_FORMAT(book_date, '%m/%d/%y')  FROM    table
    WHERE   book_date BETWEEN (CURDATE() - INTERVAL 7 DAY) AND CURDATE()";

然后我想使用类似的东西

$result=mysql_query($query);
while ($mytable=mysql_fetch_array($result))
{
 loop and display all the information in array in a table
}

但我需要相当于这个的红豆。

4

2 回答 2

1

最简单的方法是将 $query 粘贴到 sql 函数中:

$results=R::getAll($query);
foreach($results as $row){
    echo $row['id'];
}

下一种方法是手动构建查询....在我看来这可能会让它看起来更草率:

$results=R::$f->begin()->select('id, customer_name, CAST( register_date AS DATE ) AS dateonly,status, DATE_FORMAT(book_date, '%m/%d/%y')')->from('table')->where('book_date BETWEEN (CURDATE() - INTERVAL 1 DAY) AND CURDATE())->get();

最后一种方法是通过redbean抓取结果并手动处理:

$results=R::find('table','book_date BETWEEN (CURDATE() - INTERVAL 7 DAY) AND CURDATE()');

然后循环遍历结果,在 php.ini 中配置数据。

于 2012-11-19T16:30:53.217 回答
0

当我必须从 mysql 访问大量数据时,我总是使用它:

 while ($row = mysqli_fetch_array($query)) { #converts query into array
    $array[] = $row;
}

$array 将是一个多维数组。$array[x][column_name] 将为您获取数据,x 是您要从中访问它的行。希望这有帮助。

于 2017-07-29T13:23:03.783 回答