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() されたコード PHP 行番号 : 7 最後の既知の pos : 1 行目のフォーム カスタム ピース コードの前 エラー メッセージ : 未定義のオフセット: 0

* FACILEFORMS によってキャッチされた例外 * PHP エラー レベル : E_NOTICE PHP ファイル名 : /home/web10385/public_html/ * * /components/com_breezingforms/facileforms.process.php(1219) : eval() されたコード PHP 行番号 : 8 最後の既知の pos : 1 行目のフォーム カスタム ピース コードの前 エラー メッセージ : 非オブジェクトのプロパティを取得しようとしています

上記のコードは、フォームピースの前です。

ありがとう

4

2 に答える 2

0

データベースオブジェクトを構築していません....

宣言はし$databaseたけど、オブジェクトで初期化していない…それが問題だ…忘れてしまったようだ。

初期化する前はnon-object型なので。そして、それを 2 回使用しようとしたため、2 つのエラーが発生しました。

    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 に答える
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 に答える