KennyQi PHP Blog

Linux、PHP、Perl、Ajax、MySQLでのWeb開発やWordPressの設定メモと息抜きブログ

  • 9月262009

    PHPからAjaxのjQueryを使う~Pquery

    Published on 2009/09/26 02:44 954
    カテゴリ: PHP; タグ: ,

    PHPからAjaxのjQueryを簡単に使えるクラスがあったので紹介します。
    実はAjax、あまり詳しくないんですが、
    PQueryというクラスを利用するとPHPで簡単にAjaxが実現できました。


    いろいろと使い方があるようですが、簡単で使えそうなのが
    Ajaxなリンクをクリックしたら、
    そのページ内のdiv で囲った場所に
    PHPでechoしたデータが表示される
    というものです。使い方は
    PHP上で
    1) pquery.phpをincludeして
    2) クラス呼出
    HTML側で
    1) jquery.jsを読込
    2) PHPでlink_to_remoteを呼出
    引数は
    link_to_remote(リンクさせるテキスト,jQuery用パラメータ配列)
    となります。
    という感じです。
    HTML側と書きましたがHTMLからPHPを呼び出してjQuery用のリンクを呼出します。
    ですので、ここでは同じPHPの中でHTMLも書いてみます。

    <?php
     // pquery.phpをinclude
     include 'lib/pquery.php';
     // クラス呼出
     $pquery = new PQuery();
     $pquery--->ujs = true;
     // task パラメータがhogefuncのとき
     if( $_GET['task'] == 'hogefunc' ){
     hogefunc();
     }
    // jQueryで呼び出す関数
     function hogefunc(){
     echo 'JQueryが呼び出されました!';
     }
    ?>
    <!-- jQuery.jsを読込 -->
    <script src="js/jquery.js" type="text/javascript"><!--mce:0--></script>
    <!-- jQuery呼び出しリンクをPHPで記述 -->
    <?=$pquery--->link_to_remote("表示",array('url'=>$_SERVER['PHP_SELF'].'?task=hogefunc','update'=>'#viewArea'));?>
    <!-- ここにjQueryで呼び出された関数の結果が出力されます -->
    

    という感じになります。
    link_to_remoteで出力されるリンクは下記のようになります。

    <a onclick="$.ajax({url: &quot;sample.php?task=formAll&quot;,  success: function(response){ $(&quot;#formArea&quot;).html(response);},  dataType: &quot;html&quot;});  return false;" href="#">表示</a>
    

    リンクをクリックしても何も表示されないときは、
    PHP側で呼び出したfunctionにエラーがないかを確認してみてください。
    このlink_to_remoteで生成したリンクは、
    Ajax Eventsのsuccessが呼び出されるようで
    HTTP通信が成功したら呼び出され、失敗すると呼び出されないとのこと。
    また他にフォームのformタグを呼び出すものもあり、
    formで送信したパラメータを元にデータベースの結果を
    表示させるとかいうのもできます。
    このタグはまたの機会に。^^
    なお、PQueryのライセンスはMITライセンスとGPLライセンスを選べます。
    参考&ダウンロード先:PQuery – PHP and JQuery
    参考:jQuery日本語リファレンス – Ajax/API/Ajax Events

     

    このページはどうでしたか?
    よくないよい (No Ratings Yet)
    No Comments
  • 初めて当ブログに訪れた方や何度か当ブログにお越し頂いている皆様。
    もしブログの内容を気に入って頂けましたらRSSリーダーの登録よろしくお願いします。

コメント


ブログランキング

にほんブログ村 IT技術ブログへ 人気ブログランキングへ

最新記事

カテゴリー

人気記事