2016-11-01 3 views
0

これは一例です。快適に見えるように、私はいくつかのタブとラインフィードをその中に埋めます。私は 'を使用する以外のいくつかのより良い方法を探しています。それらをリンクする。長いSQL文をPHP(または他の言語)で美しく見せるには?

$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 ;"; 
+2

あなたは何を持っていますか?それを自動的にフォーマットするツールについて質問していますか?サードパーティのソフトウェアに対するリクエストは、ここで話題にはなりません。 – Barmar

+1

MySQLはタブと改行を無視するので、あなたは何を持っているのか分からない。 – apokryfos

+0

私は、美しくするための第三者ツールを探しているわけではありません。実際に私はタブと改行が悪影響を与えるのではないかと恐れています。私はちょうど私のコードがタブや改行に敏感な場合、より多くのdbと互換性があることを願っています。ありがとうございました。 – Vincent

答えて

1

長いSQL文をPHPで美しく見せる最良の方法は、SQLコードをPHPコードから分離することです。それを行う最善の方法は、データを取得するためにSQLでviewstored procedureを作成することです。あなたはPHPのこのすべてのロジックをJOINのロジックとする必要はありません。コードをメンテナンス可能に保つために、SQLサーバーに格納するのが最適です。

PHP側では、ちょうどSELECT * FROM viewまたはCALL procedure()です。

関連する問題