2012-03-17 108 views
0

我已经为k2项目创建了自定义数组表单。Joomla!组件K2 - 将表单数据存储到数据库

<div id="dynamicInput"> 
Datum 1<br><input type="text" name="dates[]"> 
</div> 
<input type="button" value="dodaj" onClick="addInput('dynamicInput');"> 

*这是:/administrator/components/com_k2/views/item/tmpl/default.php*

在K2.js我动态地添加字段。

我现在如何发送数据到数据库?

我不是那么擅长joomla,我写了这个,但不工作..你能帮我吗。

$dates = array(); 
$dates = JRequest::getVar('dates', NULL, 'POST', 'array'); 
foreach ($dates as $key=>$value) { 
$object = new JObject; 
$object->set('datum', $value); 
unset($object->_errors); 
$datumi[] = $object; 
} 
$query = "INSERT INTO #__k2_items (`dates`) VALUES (NULL, $datumi)"; 
$db->setQuery($query); 
$db->query();  

*这是在:/administrator/components/com_k2/models/item.php*

+0

你得到任何错误 – mgraph 2012-03-17 11:01:45

+0

没有,我只是得到DATABSE – Denis 2012-03-17 11:11:26

+0

我试过NULL只有一个值,但我得到相同的结果(NULL)。 – Denis 2012-03-17 13:43:13

回答

0

$日期= JRequest :: getVar( '日期',NULL, 'POST', '阵列' );

地方说,NULL,它应该是默认值

http://docs.joomla.org/Retrieving_and_Filtering_GET_and_POST_requests_with_JRequest::getVar

查询应等待的动作,似乎正在对项目视图下执行它

您需要将您的代码在函数内部

function preuzmiDatum(){ 

$dates = array(); 
$dates = JRequest::getVar('dates','default value','post'); 
foreach ($dates as $key=>$value) { 
$object = new JObject; 
$object->set('datum', $value); 
unset($object->_errors); 
$datumi[] = $object; 
} 
$query = "INSERT INTO #__k2_items (`dates`) VALUES (NULL, $datumi)"; 
$db->setQuery($query); 
$db->query(); 


} 
在模型

/item.php并呼吁表单操作该功能

+0

我仍然无法得到这个工作。我得到致命错误:调用未定义的函数preuzmiDatum()..我把函数在文件中调用它在案件保存...我感到沮丧..可以有人为我做这:) :)? – Denis 2012-03-17 20:25:43

+0

我是否把代码放到了joomla k2组件的错误位置,这样也许代码不会从窗体中获取数据? – Denis 2012-03-18 16:14:52

+0

我已经设法将一个值放在数据库中,但我需要数组帮助。下面我为一个值工作的代码: $ dates = JRequest :: getVar('dates',NULL,'POST'); (isset($ dates)){ $ datumi = new JObject; $ datumi-> set('datum',$ dates); } $ query =“INSERT INTO #__ k2_items('dates')VALUES($ datumi)”; $ db-> setQuery($ query); $ db-> query(); – Denis 2012-03-18 16:45:17

0

在我看来,这个话题是封闭的,但我想知道是否有解决这个问题的办法?

我有类似的问题。我发现问题是k2组件看不到提交的值。

为了确保这一点,我使用了GET方法,所以我可以在地址栏中看到提交的值。不过,我还在item.php中放置了一行

echo $_SERVER['REQUEST_URI'];

但只回应令人沮丧的基本uri。我在浏览器的地址栏中看到了domain.com/article_title?mysubmittedvalue=value &等,并且仅在页面上显示了domain.com/article_title。

当然,表格没问题,因为在地址栏中可以找到提交的值。问题在于k2组件中的某处。

也与此代码尝试:

JURI::getInstance()->toString(); 

这就是此时,相应的Joomla的方式来获得完整的URI http://docs.joomla.org/JURI/toString

+0

是的,我解决了将整个想法转移到另一个平台的问题。所以我使用MODX创建了网站 - 它允许我在设计和代码方面有更多自由... :) – Denis 2016-06-23 12:16:19

相关问题