0

ユーザーが選択オプションを選択した後、div タグにテーブルを表示する方法を見つけようとして夢中になっています。

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>

助けてください!:(

4

3 に答える 3

0

PHP の最初の行でyearの前に$がありません

この行を変更します。
if ($dept && year && $month) {

これに:
if ($dept && $year && $month) {

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

于 2012-04-26T16:52:16.413 に答える
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;

次に、print_r(1) を移動します。問題のある行をキャッチするまでコマンドを実行します

于 2012-04-26T17:08:29.447 に答える
0

動的コンテンツをdiv空/不完全なtable構造 ではなくに挿入します

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

そしてphpで

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

SQL インジェクションと年に $ の欠落に関する他のコメントもお読みください

于 2012-04-26T17:08:41.023 に答える