【问题标题】:Code to Query two Joomla3 / Virtuemart3 tables and get field values查询两个 Joomla3 / Virtuemart3 表并获取字段值的代码
【发布时间】:2017-07-30 19:21:52
【问题描述】:

我的 SQL 和 php 技能非常有限,尤其是在 Joomla 方面。至少一天以来,我正在尝试为两个 Joomla3 Virtuemart3 表编写查询并获取数据,但我不能。 这些表是#__virtuemart_order_userinfos 和#__virtuemart_orders 两者的公共字段都是deremart_order_id 我需要的字段,首先从这两个表是:

  1. __virtuemart_order_userinfos :

    virtuemart_order_id 公司 姓 名字

  2. __virtuemart_orders:

    virtuemart_order_id 订单号 order_total

其余的我可以补充,我想......

我可能需要对这两个表进行 JOIN 并根据 measuremart_order_id 选择正确的字段

你能为我写 Joomla 的代码,以便我可以将它添加到我为发票和收据创建的 php 文件中吗?

提前谢谢你

【问题讨论】:

    标签: php mysql joomla joomla3.0


    【解决方案1】:

    请在 joomla 中尝试以下查询..

    $db = JFactory::getDbo();

    $query = $db->getQuery(true);

    $query->select(array('a.virtuemart_order_id','a.order_total','a.order_number', 'b.company', 'b.last_name','b.first_name'))

    ->from($db->quoteName('#__virtuemart_orders', 'a'))

    ->join('Left', $db->quoteName('#__virtuemart_order_userinfos', 'b') . ' ON (' . $db->quoteName('a.virtuemart_order_id') . ' = ' . $ db->quoteName('b.virtuemart_order_id') .')');

    $db->setQuery($query);

    $results = $db->loadObjectList();

    您还可以在 where 子句中应用条件,或者可以使用 order 子句对结果进行排序。请查看链接以获取更多指导 - https://docs.joomla.org/Selecting_data_using_JDatabase

    【讨论】:

    • 非常感谢您的回答。脚本有效! !但是'echo $db->loadResult();'仅输出 measuremart_order_id 的值。其他字段,如公司,last_name,来自 meadowmart_order_userinfos 和 order_number,order_total 表中的订单号,不显示。我怎么得到那些?谢谢 ! ! !
    • 你可以使用 $db->loadObjectList();或 $db->loadAssocList();代替 $db->loadResult();
    • 再次感谢......所以如果我有 $resacc = $db->loadAssocList();或 $resobj = $db->loadObjectList();在我的查询代码的末尾,我如何回显让我们说 last_name 或 first_name?当我有 echo $resacc;或回声 $resobj;它只显示 Array ! ! !如何从使用 Join 生成的行中获取字段值?
    • 使用 print_f($resacc) 代替 echo 结果。如果您想要单独的值,请使用 echo $resacc['last_name'] 或 echo $resobj->last_name.
    • 怎么可能 print_r ($resacc);打印所有记录字段: Array ( [0] => Array ( [virtuemart_order_id] => 5 [order_total] => 50.00000 [order_number] => 25 [company] => Internet Technology Solutions [last_name] => Χατσιούλης [first_name] = > Γιώργος) [1] => 数组 ([virtuemart_order_id] => 6 [order_total] => 17.50000 [order_number] => JALA04 [company] => Internet Technology Solutions [last_name] => Hatsiulis [first_name] => George )和 printf ($resacc);打印:数组和回显 $resacc['order_total'];没有??????我不明白....
    猜你喜欢
    • 1970-01-01
    • 2023-03-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-14
    • 1970-01-01
    相关资源
    最近更新 更多