0

誰か助けてくれないかしら。

次のように、HTMLフォーム内をキャプチャしてSession variableいます。

$lid = $_SESSION['lid'];

このメインのHTMLフォームから、次のコード行を使用して、「mysqlajaxtableeditor」ソフトウェアを使用して外部ajaxテーブルをロードします。

</script> 
 <!-- Set ajax url -->
        <script type="text/javascript">
            trackHistory = false;
            var ajaxUrl = 'Example3.php';
        </script>

<body id="page2" onload="toAjaxTableEditor('update_html','');">

私がやりたいのはSession variable、メインフォームからをキャプチャして、外部のajaxテーブルに渡すことです。

私はこのサイトで自分の問題を解決できることを望んでいた多くの投稿を読みましたが、私はその価値を伝えることができないようです。

私が読んだことから、私はメインフォームで次のことを試しました: var ajaxUrl = 'Example3.php?lid=$lid';、次に受信AJAXテーブルスクリプトで$lid = $_GET['lid'];、それは機能せず、どこが間違っているのかわかりません。

追加情報については、以下のAJAXテーブルコードを投稿しました。

class Example1 extends Common
{
    function initiateEditor()
   {
      $tableColumns['findid'] = array('display_text' => 'Find ID', 'perms' => 'TV');
      $tableColumns['dateoftrip'] = array('display_text' => 'Date of Trip', 'perms' => 'ETV');
      $tableColumns['finddescription'] = array('display_text' => 'Find Description', 'perms' => 'ETV');
      $tableColumns['detectorname'] = array('display_text' => 'Detector Used', 'perms' => 'EVT');
      $tableColumns['searchheadname'] = array('display_text' => 'Search Head Used', 'perms' => 'ETV');
      $tableColumns['pasref'] = array('display_text' => 'PAS Ref.', 'perms' => 'ETV');

      $tableName = 'finds';
      $primaryCol = 'findid';
      $errorFun = array(&$this,'logError');
      $permissions = 'EID';

      require_once('php/AjaxTableEditor.php');
      $this->Editor = new AjaxTableEditor($tableName,$primaryCol,$errorFun,$permissions,$tableColumns);
      $this->Editor->setConfig('tableInfo','cellpadding="1" width="800" class="mateTable"');
      $this->Editor->setConfig('tableTitle','');
      $this->Editor->setConfig('orderByColumn','dateoftrip');
      $this->Editor->setConfig('editRowTitle','Edit Details');
      $this->Editor->setConfig('iconTitle','Edit Find Details');
   }


   function Example1()
   {
      if(isset($_POST['json']))
      {
         session_start();
         $this->mysqlConnect();
         if(ini_get('magic_quotes_gpc'))
         {
            $_POST['json'] = stripslashes($_POST['json']);
         }
         if(function_exists('json_decode'))
         {
            $data = json_decode($_POST['json']);
         }
         else
         {
            require_once('php/JSON.php');
            $js = new Services_JSON();
            $data = $js->decode($_POST['json']);
         }
         if(empty($data->info) && strlen(trim($data->info)) == 0)
         {
            $data->info = '';
         }
         $this->initiateEditor();
         $this->Editor->main($data->action,$data->info);
         if(function_exists('json_encode'))
         {
            echo json_encode($this->Editor->retArr);
         }
         else
         {
            echo $js->encode($this->Editor->retArr);
         }

      }
   }
}
$lte = new Example1();
?>

誰かがこれを見て、どこが間違っているのかを教えてくれないかと思っただけです。

よろしくお願いします

4

1 に答える 1

0

多くの作業とインターネットの検索の後、解決策を見つけました。

HMTLページで私はこれを書きました:

 <!-- Set ajax url -->
        <script type="text/javascript">
            trackHistory = false;
            var ajaxUrl = 'ajaxtable.php?lid=$lid';
        </script>
<body id="page2" onload="toAjaxTableEditor('update_html','');">

受け取った AJAX Table Editor ソフトウェア スクリプトで、次のように書きました。

function initiateEditor()
{
    $tableColumns['locationid'] = array('display_text' => '', 'perms' => '','data_filters' => array('filters' => array("='".$_SESSION['lid']."'")), 'default' => $_SESSION['lid']);

これが将来誰かに役立つことを願っています。

敬具

于 2012-07-08T13:57:36.443 に答える