【问题标题】:payment and receipt records display in single table using codeigniter and mysql使用codeigniter和mysql在单个表中显示付款和收据记录
【发布时间】:2018-05-19 08:57:35
【问题描述】:

型号:

$this->db->where('payment_details.created_on >= ',$start_date);
    $this->db->where('payment_details.created_on <= ',$end_date);
    $this->db->where('receipt_details.created_on >= ',$start_date);
    $this->db->where('receipt_details.created_on <= ',$end_date);        
    $this->db->select('payment_details.id,payment_details.payment_no,payment_details.site_id,payment_details.vendor_id,payment_details.work,payment_details.description,payment_details.date,payment_details.amount,payment_details.tax_type,payment_details.tax,payment_details.subtotal,payment_details.grand_total,payment_details.created_on,receipt_details.id,receipt_details.receipt_no,receipt_details.site_id,receipt_details.vendor_id,receipt_details.work,receipt_details.description,receipt_details.date,receipt_details.amount,receipt_details.tax_type,receipt_details.tax,receipt_details.subtotal,receipt_details.grand_total,receipt_details.created_on,vendor.id,vendor.vname,site.id,site.sname');

$this->db->from('payment_details');        
$this->db->join('vendor','vendor.id=payment_details.vendor_id OR vendor.id=receipt_details.vendor_id','LEFT');
$this->db->join('site','site.id=payment_details.site_id OR site.id=receipt_details.site_id','LEFT');
return $this->db->get()->result();

enter image description here

我会尝试,但运行此查询时出现错误 错误: 错误号:1064

您的 SQL 语法有错误;检查与您的 MariaDB 服务器版本相对应的手册,以在第 2 行的 'LEFT JOIN vendor ON vendor.id=payment_details.vendor_id OR vendor.`i' 附近使用正确的语法

选择payment_details.id, payment_details.payment_no, payment_details.site_id, payment_details.vendor_id, payment_details.@9876544330@.payment_details.payment_details @,payment_details.date,payment_details.amount,payment_details.tax_type,payment_details.tax,payment_details.payment_details,payment_details,@987654352. payment_details.created_on, receipt_details.id, receipt_details.receipt_no, receipt_details.site_id, receipt_details.vendor_id, receipt_details.work, @987654366 @.description, receipt_details.date, receipt_details.amount, receipt_details.tax_type, receipt_details.tax, @987654377., @9876454376@, @9876 grand_totalreceipt_detailscreated_on,@vendoridvendor。987654384@.。 987654391@.id=payment_details.vendor_id OR vendor.id=receipt_details.vendor_id LEFT JOIN site ON site.id=payment_details.@987654403 @ 或 site.id=receipt_details.@9876 54407@ WHERE payment_details.created_on >= '2018-05-01' AND payment_details.created_on receipt_details.created_on >= '2018-05 -01' AND receipt_details.created_on

文件名:D:/xampp/htdocs/construct/system/database/DB_driver.php

行号:691 提前谢谢......

【问题讨论】:

  • 查询中缺失
  • $this->db->from('payment_details');而且你的连接结构不应该是这样的
  • 是的,这就是您还必须在连接中包含收据表的关键,否则您将无法获得正确的数据,在这里您想要获取数据而不包含表怎么可能,您有四个表并只加入两个
  • 请帮助我,如何在 codeigniter 中进行更改

标签: codeigniter


【解决方案1】:

希望对您有所帮助(未测试)

你的查询结构应该是这样的,做必要的改变给你提示

$sql = 'SELECT payment_details.id,payment_details.payment_no,payment_details.site_id,payment_details.vendor_id,payment_details.work,payment_details.description,payment_details.date,payment_details.amount,payment_details.tax_type,payment_details.tax,payment_details.subtotal,payment_details.grand_total,payment_details.created_on,receipt_details.id,receipt_details.receipt_no,receipt_details.site_id,receipt_details.vendor_id,receipt_details.work,receipt_details.description,receipt_details.date,receipt_details.amount,receipt_details.tax_type,receipt_details.tax,receipt_details.subtotal,receipt_details.grand_total,receipt_details.created_on,vendor.id,vendor.vname,site.id,site.sname 
        FROM payment_details  
        JOIN (vendor, receipt_details, site)
        ON (vendor.id=payment_details.vendor_id OR vendor.id=receipt_details.vendor_id
        AND site.id=payment_details.site_id OR site.id=receipt_details.site_id)';
$query = $this->db->query($sql);
return $query->result();

【讨论】:

  • 对不起双逗号去掉一个
  • 先生,请不要介意没有看到你的代码,我从这里告诉你有点困难,
猜你喜欢
  • 2010-12-01
  • 2017-05-10
  • 2021-10-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-02-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多