【发布时间】:2019-02-09 00:23:47
【问题描述】:
我需要完成mysql_query SELECT 多个选项并在网页上发布结果。表单(Breezingforms)拉取数据。
Joomla 模块出现在网页上
<div id="frmSrchResults"></div>
表单上的“搜索”按钮,用户可以选择从数据库中提取数据
function ff_Searchbutton_action(element, action)
{
switch (action) {
case 'click':
let var1 = ff_getElementByName('category').value;
let var2 = ff_getElementByName('subcategory').value;
let var3 = ff_getElementByName('CselCountry').value;
// call the .post
jQuery.ajaxSetup({async:false});
jQuery.post(
'<?php return JUri::root(true); ?>/index.php', {
option: 'com_breezingforms',
ff_form: ff_processor.form,
format: 'html',
category: var1,
subcategory: var2,
country: var3
},
// success: function(data) {
function(data) {
jQuery('#frmSrchResults').html(data);
);
break;
default:;
} // switch
} // ff_Searchbutton_action
在形式前的形式
$this->execPieceByName('ff_InitLib');
// fetch .post() parameters
$var1 = JRequest::getVar('par1');
$var2 = JRequest::getVar('par2');
if ($var1 && $var2 && $var1 !== '' && $var2 !== '') {
$db = JFactory::getDBO();
$db->setQuery("Query I need to complete");
$result = $db->loadAssocList();
// clean output buffer
while (@ob_get_level() > 0) { @ob_end_clean(); }
echo $result;
exit;
}
这是一个数据库结构的例子
id title name value
4 Company Name companyname Microsoft
4 Company Address companyaddress someaddress
4 Country country USA
4 Category category Computer
4 Sub-category subcategory Software
5 Company Name companyname Apple
5 Company Address companyaddress someaddress2
5 Country country CANADA
5 Category category Business
5 Sub-category subcategory Executive
6 Company Name companyname Ollivetti
6 Company Address companyaddress someaddress3
6 Country country CANADA
6 Category category Business
6 Sub-category subcategory Executive
例如表单中的用户输入:
Category=Business
Sub-category=Executive
Country=CANADA
现在我需要:选择值(根据用户在表单上的选择。每个表单元素都是一个选择列表)FROM 表等。所以在我的示例中,结果应该是这样的:
Company Name Company Address
Apple someaddress2
Ollivetti someaddress3
【问题讨论】:
-
如果用户可以输入
Business、Executive和CANADA,为什么您只将category和subcategory传递给您的ajax 进程? -
对于未来与 Joomla 相关的问题,请在 Joomla Stack Exchange 中发帖(出于多种原因)。 1. 它使社区保持活跃。 2.您可能会收到非 Joomla 用户无法提供的其他最佳实践建议。
-
谢谢@mickmackusa。你是对的,我也应该包括 Country。
-
@mickmackusa 我一定在某个地方错过了它。你是对的,它应该在 Joomla 下!
标签: javascript jquery mysql joomla breezingforms