0

我有一张录取表格,它正在从数据库表中获取价值。场景是我有课程列表,学生选择一门课程,我在 URL 中传递课程 ID,然后使用此代码在字段中获取相应的课程名称:(该表格是在 joomla 中使用微风表格设计的。)

$this->execPieceByName('ff_InitLib');
$course_id= JRequest::getVar('CID');
global $database, $rec;
$database->setQuery("SELECT * FROM course_list WHERE record = '$course_id' AND name = 'CourseName'");
$row = $database->loadObjectList();
$rec = $row[0];
ff_setValue('ProsCourse', $rec->value);

不幸的是,我收到了这个错误:

* FACILEFORMS 捕获的异常 * PHP 错误级别:E_NOTICE PHP 文件名:/home/web10385/public_html/ * * /components/com_breezingforms/facileforms.process.php(1219) :eval()'d 代码 PHP 行号:7 最后一个已知位置:在第 1 行形成自定义件代码之前错误消息:未定义的偏移量:0

* FACILEFORMS 捕获的异常 * PHP 错误级别:E_NOTICE PHP 文件名:/home/web10385/public_html/ * * /components/com_breezingforms/facileforms.process.php(1219) :eval()'d 代码 PHP 行号:8 最后一个已知位置: 在第 1 行形成自定义代码之前 错误消息 : Trying to get property of non-object

上面的代码是之前的表单部分。

谢谢

4

2 回答 2

0

这是我所做的:

在表单片段 > 表单之前添加此脚本:

$this->execPieceByName('ff_InitLib');
$course_id= JRequest::getVar('CID');

//intialize BF utilities
$this->execPieceByName('ff_InitUtilities');
global $database, $rec;
$database = ff_select('SELECT * FROM course_list WHERE record = '.$course_id.' ');
$rec = $database[0];

然后将其添加到 TEXT 字段(课程名称)的 VALUE 字段中:

<?php global $rec; return $rec->name; ?>

那应该这样做。

和平。

于 2013-06-25T19:01:06.413 回答
0

您没有构建数据库对象....

您已声明$database但尚未使用对象对其进行初始化……这就是问题所在……看来您已经忘记了。

因为,在初始化它之前,它是一种non-object类型。而且您已尝试使用它两次,因此出现了两个错误。

    global $database, $rec;
               ^^ uninitialized....
        $database->setQuery("SELECT * FROM course_list WHERE record = '$course_id' AND 
              ^^ but you are using it here....

        $row = $database->loadObjectList(.....
                ^^ here....

从看到的信息来看,这可能是解决方案:

编辑:

$database=JFactory::getDbo();
于 2013-06-07T14:03:34.527 回答