2012-04-26 9 views
0

私は、ユーザが選択オプションを選択した後にdivタグにテーブルを表示する方法を理解しようとしています。JQuery/AJAXを使用してPHPからhtmlテーブルを返します

jQueryの/ AJAX

$('#months').change(function() { 

        var month_sent = $('#months option:selected').text(); 

        $.ajax ({ 
         type: "GET", 
         dataType: 'text', 
         url: "db_connect.php", 
         data: "dept_sent=" + dept_sent + "&month_sent=" + month_sent + "&year_sent=" + year_sent, 
         success: function(data) { 
          $('#incident_table').html(data); 
         }, 
         error: function() { 
         alert("Error!"); 
         } 

        }); 
       }); 

PHP

if ($dept && year && $month) { 
     $query = "SELECT date,dept,area_name,ticket,description,resolution FROM incidents WHERE (dept = '$dept') AND (YEAR(date) = '$year') AND (MONTH(date) = '$month')"; 
     $query_image = "SELECT image_content FROM images WHERE dept_name = '$dept' AND year = '$year' AND month = '$month'"; 

     $result = mysql_query($query); 
     $result_image = mysql_query($query_image); 

     while ($row = mysql_fetch_assoc($result)) { 
     // foreach ($row as $value) { 
       $incident .= '<tr><td>'.$row['date'].'</td><td>'.$row['dept'].'</td><td>'.$row['area_name'].'</td><td>'.$row['ticket'].'</td><td>'.$row['description'].'</td><td>'.$row['resolution'].'</td></tr>'; 
      //} 
     } 
     echo $incident; 
    } 

私がやらなければならないことは、DIVタグ

編集 "事件" の内部でテーブルを表示することができます:

<div style="border: 1px solid black; width:310px; height: 310px;" name="incidents" id="incidents"> 
     <table id="incident_table"> 
     </table> 
    </div> 

lp! :(

+1

PHP側は期待された出力を返しますか? – MrCode

+0

あなたの質問は何ですか? – Madbreaks

+0

エコー '

'。$インシデント '
'; –

答えて

0

あなたは変更

PHP

の最初の行で、この行の前に $を逃している:これまで
if ($dept && year && $month) {


if ($dept && $year && $month) {

てみてください最初にPHPファイルを単独で実行して、正しく動作していることを確認してください。

+0

この場合 'year'は' true 'と評価されます –

+0

Opppsはそれを見ませんでした。キャッチをありがとう!しかし、それはまだ正しい値をJQueryに返さないようです。 – jmg0880

+0

これは恥ずかしいものです。 ':' 私は上記を変更しなければならなかった。 '$のquery_imageは "DEPT_NAME = '$のDEPT' AND年= '$年' AND月= '$月には' WHERE画像からimage_contentを選択します"= "$ date =" $ month ""; ' 私のSQLはここに非難されていました – jmg0880

0

はこれにあなたのPHPを変更してみてください。

if ($dept && year && $month) { 
     print_r(1);exit; 
     $query = "SELECT date,dept,area_name,ticket,description,resolution FROM incidents WHERE (dept = '$dept') AND (YEAR(date) = '$year') AND (MONTH(date) = '$month')"; 
     $query_image = "SELECT image_content FROM images WHERE dept_name = '$dept' AND year = '$year' AND month = '$month'"; 

     $result = mysql_query($query); 
     $result_image = mysql_query($query_image); 

     while ($row = mysql_fetch_assoc($result)) { 
     // foreach ($row as $value) { 
       $incident .= '<tr><td>'.$row['date'].'</td><td>'.$row['dept'].'</td><td>'.$row['area_name'].'</td><td>'.$row['ticket'].'</td><td>'.$row['description'].'</td><td>'.$row['resolution'].'</td></tr>'; 
      //} 
     } 
     echo $incident; 
    } else print_r(0);exit; 

その後、(1)しますprint_rを動かします。空/不完全table構造

success: function(dataHTML) { 
     $('#incidents').html(dataHTML); 
}, 

とPHPで

echo '<table id="incident_table">'.$incident.'</table>'; 

は、他の読みにあなたは問題

0

で行をキャッチするまでダウンコマンドがdivずに動的なコンテンツを挿入しますSQLインジェクションと欠落している$ on yearのコメント

+0

フィードバックいただきありがとうございます。私は上記を試してみましたが、それでもdivタグの中に目的のテーブルが返されません。 PHPは今や順番になっているようです。何が間違っているのかわからない – jmg0880

+0

あなたは本当に火かぶりで起こっていることを確認していますか?とにかく 'year_sent'と' dept_sent'がどのように値asignedされているのかわかりません。 –

関連する問題