2017-09-12 14 views
2

まずはおめでとうございます:) こんにちは、私は新しいウェブプログラマーで、私はいくつかの学校マネージャープロジェクトに取り組んでいます。ajaxからIDを取得するPHP/AJAX

私は学校にすべてのコースを表示しなければなりません。コースをクリックすると彼の説明が表示されます。

は、これはあなたが見ることができるように私はそれを私は何の説明を表示するには、テーブルのIDを与えた私のディスプレイのPHPコード

<?php 
$conn = mysqli_connect("localhost", "root", "", "school"); 

     if($conn){  
     $result = $conn->query("SELECT * FROM `courses`"); 
     if ($result->num_rows > 0){ 
      while($row = $result->fetch_assoc()){ 
       $id=$row['id']; 
       echo '<div class="alex" onclick="myFunction(this.id)" id="'.$id.'">'.$row['name'].'</div>'.'<br>'.'<br>'; 
      } 
     } 
     }else{ 
      echo die("connection faild"); 
     } 

     mysqli_close($conn);   
?> 

です。私は上のIDを取得、表示科目をクリックすると

<?php $conn = mysqli_connect("localhost", "root", "", "school"); 
if (isset($_POST['id'])) { 
$id = $_POST['id']; 
} 
if($conn){ $result = $conn->query("SELECT * FROM courses WHERE id = '$id'"); 
    if ($result->num_rows > 0){ 
     while($row = $result->fetch_assoc()){ 
      echo $row['description']; 
     } 
    } 
    }else{ 
     echo die("connection faild"); 
    }  
    mysqli_close($conn); ?> 

:JSファイルの私の機能コード

 function myFunction(id){ 
     $.post(
      "api/courses/description.php", 
      { id:id } 
     ).done(function(data) { 
      console.log(id); 
      $('#desc').load("api/courses/description.php"); 
     }); 
    } 

、ここで

は私の説明PHPはidと表示の説明を取得することですコンソール! 私はクリックするたびにコンソール上で彼のIDを取得します。

あなたが私を助けてくれることを願っています! Imは何時間もそれに座っていて、問題を起こすことはできません。

は、その読みT_T

編集を願っています:未定義のインデックス: Cのid:\ xamppの\ htdocsに\プロジェクト\のAPIの\コース..私が持っている エラーが

お知らせであると言うのを忘れて\ description.php on line 9 --- cant get id NULL ----------------------------------- -----> var dumpの場合

注意:未定義の変数:idは です。C:¥xampp¥htdocs¥project¥api¥courses¥description.php on line 10 (---->のid = $ IDを未定義 - > $のID)

+0

コンソールに「id」という値がありませんか?何が問題なのですか? – David

+0

あなたは問題が何であったかを言いませんでした。この質問を閉じるために投票しました – meda

+0

編集した後でも...PHPコードは、AJAX呼び出しを行うページをレンダリングするファイル内のコードを表示していますか、それともAJAXによって呼び出されたファイルですか?それが参照している行番号は何ですか?この問題について具体的に記述してください。 – David

答えて

2

あなたは二回description.phpを呼んでいます。最初にAJAX POSTリクエストで呼び出すと、idパラメータが正常に入力されます。これによりエラーは発生しません。しかし、あなたはその操作の結果で何を見て:

console.log(id); 
$('#desc').load("api/courses/description.php"); 

また、成功した、idをログに記録します。その後、dataの応答を無視し、description.phpにもう一度と電話してください。今回はAJAX GETリクエストとしてを入力しないでください。にはidパラメータが指定されています。 このはエラーを生成するものです。

2番目のリクエストを行う代わりに、最初のリクエストの戻り値を使用してください。

console.log(id); 
$('#desc').html(data); 
+0

WORKSSSありがとう:))))+あなたのためにいくつかのことを学んだ! –

関連する問題