Php 定制查询中的Joomla 3 Zoo组件JSON提取
我正在为项目使用zoo组件,刚刚将Joomla从1.5版本移动到3版本,zoo组件更改了格式以保存项目 在以前的版本中,zoo组件使用XML格式将数据保存在数据库中,而在新版本中,它们使用JSON格式 现在,让我来谈谈这个问题: 我开发了用于获取数据的自定义模块,查询如下:Php 定制查询中的Joomla 3 Zoo组件JSON提取,php,mysql,json,joomla,Php,Mysql,Json,Joomla,我正在为项目使用zoo组件,刚刚将Joomla从1.5版本移动到3版本,zoo组件更改了格式以保存项目 在以前的版本中,zoo组件使用XML格式将数据保存在数据库中,而在新版本中,它们使用JSON格式 现在,让我来谈谈这个问题: 我开发了用于获取数据的自定义模块,查询如下: SELECT DISTINCT id, name FROM #__zoo_item WHERE application_id=1 and state=1 and type='abo' AND ExtractValue(ele
SELECT DISTINCT id, name FROM #__zoo_item WHERE application_id=1 and state=1 and type='abo' AND ExtractValue(elements,'/elements/relateditems[@identifier="9264aa8aa-6b39-4ecc-969a-f17da2688a5c"]/item')=24 ORDER BY ExtractValue(elements,'/elements/radio[@identifier="3dd960814e-b3f9-4ca2-abdb-070d0f51e7b9"]/option') ASC, FIELD(ExtractValue(elements,'/elements/radio[@identifier="86c0c108-8a31-48b9-badb-857ss7f359c1b7"]/option'),'ja','regal','ntein') ,ExtractValue(elements,'/elements/radio[@identifier="3960814e-b3f9-4ca2-abdb-070d0f51epp7b9"]/option') DESC
这里的查询使用MySQL的ExtractValue函数来匹配从XML中提取的值
以下是XML格式:
<?xml version="1.0" encoding="utf-8"?>
<elements>
<select identifier="9d534d17-d6d9-4671-a7d1-0b1f8ec71f07">
<option><![CDATA[salt]]></option>
</select>
<relateditems identifier="9264aa8aa-6b39-4ecc-969a-f17da2688a5c">
<item><![CDATA[24]]></item>
</relateditems>
<text identifier="b44baf4c-bbb0-4410-a12c-23ec3b7ba5d6">
<value><![CDATA[]]></value>
</text>
<text identifier="c3903e1e-bc09-4708-bf8f-dc765a84ccd4">
<value><![CDATA[]]></value>
</text>
<image identifier="4079ccd8-04df-41fd-b41e-52c23351a215">
<file><![CDATA[test.png]]></file>
<title/>
<link/>
<target/>
<rel/>
<lightbox_image/>
<width><![CDATA[100]]></width>
<height><![CDATA[80]]></height>
</image>
<radio identifier="86c0c108-8a31-48b9-badb-857ss7f359c1b7">
<option><![CDATA[ja]]></option>
</radio>
<radio identifier="3960814e-b3f9-4ca2-abdb-070d0f51epp7b9">
<option><![CDATA[0]]></option>
</radio>
</elements>
有人知道如何签入JSON数据吗?任何MySQL函数都可以在这种情况下工作吗?
<?php
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('64ccc68f-4af3-4c02-8c0f-8ec5977bacb2')))
->from($db->quoteName('#__zoo_item'))
->where($db->quoteName('application_id') . ' = 1 AND '.
$db->quoteName('state') . ' = 1 AND '.
$db->quoteName('type') . ' = ' $db->quoteName('handy'));
$db->setQuery($query);
$results = $db->loadObjectList();
?>
您能解释一下查询及其工作原理吗?我的意思是它也适用于订购?此查询不完整,您错过了订单,并且商品的条件错误
<?php
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$query->select($db->quoteName(array('64ccc68f-4af3-4c02-8c0f-8ec5977bacb2')))
->from($db->quoteName('#__zoo_item'))
->where($db->quoteName('application_id') . ' = 1 AND '.
$db->quoteName('state') . ' = 1 AND '.
$db->quoteName('type') . ' = ' $db->quoteName('handy'));
$db->setQuery($query);
$results = $db->loadObjectList();
?>