首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何让长sql语句在PHP(或其他语言)中看起来很漂亮?

如何让长sql语句在PHP(或其他语言)中看起来很漂亮?
EN

Stack Overflow用户
提问于 2016-11-01 17:05:38
回答 1查看 71关注 0票数 0

这是一个例子;为了看起来舒服,我在里面填了一些制表符和换行符;我正在寻找一些更好的方法,除了使用‘’。将它们联系起来。

代码语言:javascript
复制
$str_sql = "SELECT 
          sc.`id` AS 'payment_id',
          sc.`order_id` AS 'order_id',
          od.`partner_id` AS 'partner_id',
          pt.`partner_name` AS 'partner_name',
          od.`term` AS 'order_terms',
          od.`has_pay` AS 'paid_terms',
          sc.`sort_order` AS 'current_term',
          FROM_UNIXTIME(sc.`repayment_time`) AS 'payment_time',
          FROM_UNIXTIME(sc.`receive_time`) AS 'pay_time',
          sc.`order_price` AS 'term_price',
          od.`add_time` AS 'order_time',
          sc.`status` AS 'status',
          od.`order_price` AS 'order_price',
          usr.`user_name` AS 'user_name',
          usr.`id` AS 'user_id',
          usr.`user_cell` AS 'user_cellphone',
          IF(sc.`status` IN (0,3), 1 , 0 ) AS 'overdue',

        FROM 
          mayidev.`lzh_order_payment_schedule` sc 
          JOIN lzh_order od 
            ON sc.`order_id` = od.`id` 
          JOIN lzh_partners pt 
            ON od.`partner_id` = pt.`id` 
          JOIN lzh_order_user usr 
            ON od.id = usr.order_id 
          JOIN lzh_partner_overdue_interest po 
            ON po.`partner_id` = pt.id 
        WHERE sc.`repayment_time` < 1477441800
        AND sc.`receive_time` = 0
          AND sc.`status` != 1
          AND od.`status` = 4 ;";
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-11-01 19:30:05

使长SQL语句在PHP中看起来漂亮的最好方法是将SQL代码从PHP代码中分离出来。最好的方法是在SQL中创建viewstored procedure来获取数据。在PHP中你并不需要所有这些JOIN的逻辑。最好将其存储在SQL服务器上,以保持代码的可维护性。

在PHP端,你可以只使用SELECT * FROM viewCALL procedure()

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40356923

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档