0

PHPで次のコードをページに書いています。このコードは、データベースの PRIMARY KEY の値である $intIdType に等しい ID を持つ A HREF リンクを作成し、$count はデータベースのカテゴリごとのレコード数を取得します。これらはすべて、各レコードを読み取り、結果を PAGE に書き込む WHILE 内にあります。

          echo "<a href='#' id='$intIdType'>";//Starts creating the link
          echo "$intIdType -";
          echo $arrBusinessTypes["business_Description"]; 
          echo "(";
          echo " $count1 )"."</a>";

結果がページに表示されると、次のようになります。

$intIdType    $arrBusinessTypes       $count
--------------------------------------------
    1       -Auto Sales               ( 1 )
    2       -Auto Repair              ( 1 )
    5       -Web Desig & I.T. Services( 2 )
    6       -Computer Shop            ( 1 )

上記の結果では、各行をクリックできるリンクとして表示されますが、何も起こりません。JavaScript の単純なアラートでも表示されません。Javascriptにも全く届いていないようです。

ここで必要なのは、PHP によって生成されたコードを Javascript ファイルによってページ上で取得することです。これにより、PHP によって生成されたハイパーリンクを .HTML ページに使用できるようになります。

PHPが書き込むと思われるものをページに直接書き込むと機能します。これは、Javascript が PHP から投稿されたデータをページに読み込めないために起こるのでしょうか。

Javascript ファイルは次のようになります。

window.onload=post_result
function post_result() {
$("#1").click(function() { //This is the HREF ID that is written by PHP into the page
    $('#list_results').load("results.php");//This seeks to run a PHP file in a DIV
    $('.title').text('Listing Categories');//This just replaces the Title in the page
})

私はただの初心者です。助けてくれてありがとう。

4

2 に答える 2

0

備考 #1: カスタム データを HTML に出力する際に​​引用する: echo $arrBusinessTypes["business_Description"]; echo htmlspecialchars($arrBusinessTypes["business_Description"]); である必要があります。

注意 #2: ここでは window.onload ハンドラは必要ありません。このコードでは、単純なことを行う複雑な方法を選択します。直接 onclick ハンドラを書かないのはなぜですか? パラメータに応じていくつかのデータをロードする関数を作成し、次のようにします。

$htmlspecialchars = function($s){return htmlspecialchars($s);};

echo <<<HTML

<a href='#' id='$intIdType' onclick='loadInfo($intIdType)'>
  $intIdType -{$htmlspecialchars($arrBusinessTypes["business_Description"])} ( $count1 )
</a>

HTML;

(HTML をよりきれいにするためにヒアドキュメントに変換されます)

于 2013-11-07T02:47:02.527 に答える