jqueryでajaxを使用したphpの例


最近はずっとjqueryを勉強しています.もちろんajax処理に夢中になっています.簡単で速いです.自分の学習ノートを貼って、自分の知識を固めることと、みんなの参考にすることです.
 
このセクションでは主にajaxの中の$postを練習します.まず、これはphpchinaの文章に基づいて練習したものです.http://www.phpchina.com/index.php?action-views-intemid-35556.また、この練習は主にデータベースとのデータのやり取りを練習します.
 
第一歩:あなたのデータベースにテスト情報を保存するためのテーブルを作成します.
 

    
    
    
    
  1. CREATE TABLE `directory` (   
  2. `id` INT NOT NULL AUTO_INCREMENT ,   
  3. `name` VARCHAR( 64 ) NOT NULL ,   
  4. `phone` VARCHAR( 16 ) NOT NULL ,   
  5. PRIMARY KEY ( `id` )      
  6. TYPE = MYISAM ; 
私たちはdirectory表を作成してテスト情報を保存して、その中にいくつかのテストデータを出入りします.
 

    
    
    
    
  1. insert into `directory` (name,phone) values ('Tom Smith', '512-555-0111');       
  2. insert into `directory` (name,phone) values ('Bill Smith', '512-555-0112');       
  3. insert into `directory` (name,phone) values ('John Smith', '512-555-0113');       
  4. insert into `directory` (name,phone) values ('Jane Smith', '512-555-0114');       
  5. insert into `directory` (name,phone) values ('Sara Smith', '512-555-0115'); 
今までの第一歩は完成しました.次に私達は第二歩を行います.
第二ステップ:index.phpファイルコードの作成は以下の通りです.

      
      
      
      
  1. <html>   
  2.   <head>   
  3.     <title>Welcome to Ajax!!</title>   
  4.     <script type="text/javascript" src="./jquery.js"></script>   
  5.     <script type="text/javascript">   
  6.       $(document).ready(function(){   
  7.           $("#search_results").slideUp();   
  8.           $("#search_button").click(function(e){   
  9.             e.preventDefault();   
  10.             ajax_search();   
  11.             });   
  12.           $("#search_term").keyup(function(e){   
  13.             e.preventDefault();   
  14.             ajax_search();   
  15.             });   
  16.           });   
  17.       function ajax_search(){   
  18.         $("#search_results").show();   
  19.         var search_val=$("#search_term").val();   
  20.         $.post("./find.php",{search_term:search_val},function(data){   
  21.             if(data.length>0){   
  22.               $("#search_results").html(data);   
  23.             }   
  24.             }   
  25.         )   
  26.       }   
  27.     </script>          
  28.   </head>   
  29.  
  30.   <body>   
  31.     <h1> Search Our Phone Directory <h1>   
  32.     <form id="searchform"    method="post">   
  33.       <div >   
  34.         <label for="search_term">Search Name/Phone</label>   
  35.         <input type="text" name="search_term" id="search_term"/>   
  36.         <input type="submit" value="search" id="search_button"/>   
  37.       </div>   
  38.     </form>   
  39.     <div id="search_results"></div>   
  40.   </body>   
  41. </html>   
 
次のステップ3:
ステップ3:find.phpを作成する:
 

      
      
      
      
  1. <?php   
  2.   define('HOST',"localhost");   
  3.   define('USER',"root");   
  4.   define('PWD',"");   
  5.   define('DB','test');   
  6.  
  7.   $connect = mysql_connect(HOST,USER,PWD) or die(" !");   
  8.   mysql_select_db(DB) or die(" ");   
  9.  
  10.   $term=$_POST['search_term'];   
  11.   //$term="Bill";   
  12.  
  13.   $sql = "select name,phone from directory where name like '%".$term."%' order by name asc";   
  14.  
  15.   //echo $sql;   
  16.  
  17.   $result = mysql_query($sql);   
  18.  
  19.   $string = "";   
  20.  
  21.   if(mysql_num_rows($result)>0){   
  22.     while ($row = mysql_fetch_array($result)){   
  23.       $string .="<b>".$row['name']."</b>-";   
  24.       $string .="<b>".$row['phone']."</b>";   
  25.       $string .="<br/>
    "
    ;   
  26.     }   
  27.   }else{   
  28.     $string = "No matches";   
  29.   }   
  30.  
  31.   echo $string;   
  32.      
 
上記のコードをサービスの上に置いて実行すればいいです.ほえるのは簡単でしょう.
    
 
前のセクションの中の$post()メソッドは、下の階のajaxの高速パッケージです.下の部分は下の層の$ajax()方法で上記の機能をどのように実現するかを見てみましょう.簡単に言えば、もう一つの関数をjsに追加します.コードは以下の通りです.

     
     
     
     
  1. function ajax(){  
  2. $("#search_results").show();  
  3. var search_value=$("#search_input").val();  
  4. $.ajax({  
  5. type:"post",  
  6. url:"./find.php",  
  7. data:{'search':search_value},  
  8. success:function(data){  
  9. if(data.length>0){  
  10. $("#search_results").html(data);  
  11. }  
  12. }  
  13. }) 
ajax_search() , !!!