php - 仅针对特定条件的日期

标签 php mysql sql arrays

好的,所以我想要做的是仅对一个条件/特定行/具有此特定 ID 的行使用开始和结束日期。

例如,如果order_status='1'仅使用开始日期和结束日期,如果order_status='2'则选择全部。我使用 PHP 从数据库中获取此信息,然后将它们存储在数组中。

目前,我有两个不同的查询可以为我完成此任务,但我目前必须将它们存储在两个不同的数组中,并将它们显示为两个不同的数组。我想要的是一种将所有这些存储到一个数组中,然后使用 foreach 循环在一个地方回显这两个条件的所有结果的方法。

希望它足够清楚,但如果不是,请通过评论告诉我,我也会包含我的代码和查询。

带日期导出查询 (order_status=1)

   SELECT ov.order_number,
   m.name           AS brand,
   op.name          AS model,
   op.product_grade AS grade,
   o.date_added
   FROM   `order` o,
   op.order_product_veri,
   manufacturer m,
   product p
   WHERE  opv.product_id = p.product_id
   AND p.manufacturer_id = m.manufacturer_id
   AND op.order_status = '1'
   AND Date (o.date_added) >= '2013-10-22'
   AND Date(o.date_added) <= '2013-11-02'  

不带日期的导出查询 (order_status=2)

   SELECT op.order_number,
   m.name           AS brand,
   op.name          AS model,
   op.product_grade AS grade,
   o.date_added
   FROM   `order` o,
   op.order_product_veri,
   manufacturer m,
   product p
   WHERE  opv.product_id = p.product_id
   AND p.manufacturer_id = m.manufacturer_id
   AND op.order_status = '2'  

最佳答案

SELECT 
    op.order_number, 
    m.name AS brand, 
    op.name AS model, 
    op.product_grade AS grade, 
    o.date_added 
FROM 
    order o, 
    op.order_product_veri, 
    manufacturer m, 
    product p 
WHERE 
    opv.product_id = p.product_id and 
    p.manufacturer_id = m.manufacturer_id and
    (
        op.order_status = '2' or 
        (op_order_status = '1' and date(o.date_added) >= '2013-10-22' and date(o.date_added) <= '2013-11-02'
    )

关于php - 仅针对特定条件的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19737420/

相关文章:

php - pear 数据库错误 : extension not found

php - is_array() 的区别

php - MySQL 从表中选择不同的值,按具有这些不同值的行数排序

mysql - 使用 Hibernate 将 HashMap 写入数据库

php - 在 PHP 中安全下载文件,未经许可拒绝用户

php - FPDF - 如何在全局范围内制作 getstringwidth?

sql 到 postgresql

c# - WinForms SQLite 数据库升级技巧

MySQL 内爆子查询结果并在 WHERE IN 中使用

sql - 有什么好的方法可以在 SQL Server 中构建一个逗号分隔的列表吗?