繁体   English   中英

我如何使用Fabrik(joomla组件)表单连接到数据库表并搜索匹配并返回结果?

[英]How do i use a Fabrik (joomla component) form to connect to database table & search for match & return a result?

我正在使用Joomla! 组件Fabrik

我试图获得的功能是让用户使用e-junkie从我的网站购买唯一的代码。 付款完成后,e-junkie将处理一个脚本,该脚本会将代码发送到MySQL数据库表。

购买后,他们将被重定向到网站上的页面以通过填写表格来激活其代码。 为了激活他们的代码,他们将需要在三个文本字段中输入数据:

  • 名字
  • 唯一代码

该表格已经与Fabrik一起设置,并可以很好地显示在网站上。

我现在需要的是提交表单时,我需要它连接到存储唯一代码的数据库,在数据库表中搜索匹配的firstnamelastnameunique code ,如果找到匹配项,则返回成功消息,并且如果找不到匹配项,则显示失败消息。

Fabrik允许在提交表单时运行PHP插件脚本,我将为表单上的每个字段使用单独的插件。

到目前为止,我已经提出了以下代码段,这些代码段将在提交表单时执行。 我只是在此阶段尝试验证表单上的firstname字段,以使其正常工作。 一旦工作,我将复制代码并将其改编为其他字段(例如lastnameuniquecode )。

问题是我无法正常工作。 它使用Joomla的JFactory / getDBO连接到数据库。

我的表的名称是travelcodes表格上的字段分别是firstnamelastnameuniquecode ,表上的列也都是firstnamelastnameuniquecode

$firstname = '{travelcodes___firstname}';
$value = '{tablename___firstname}';
$db =JFactory::getDBO();
$query=("SELECT firstname FROM travelcodes where field = '$firstname'");
$db->setQuery($query);
$response = $db->loadResult();
if ($response == $firstname) {
    return true;
} else {
    return false;
}

任何帮助,将不胜感激。

谢谢。

贝利

使用以下设置我没有问题

我认为您需要在('you_element')之前添加JRequest :: getVar并将其设置为onBeforeProcess

$db = JFactory::getDbo();
$date = date("Y-m-d H:i:s", time());  
$value = JRequest::getVar('off_line_ap___offline_reason');
$user =& JFactory::getUser();
$uid = $user->id;
$db->setQuery("INSERT INTO d2_exchange_log (date_time, part, quantity, user_id, purpose) VALUES ('{$date}', '{$value}', '99','{$uid}', 'Test')");

$submissionsNo=$db->loadResult();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM