2012-04-26 25 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 2012-04-26 16:48:15

+0

你的問題是什麼? – Madbreaks 2012-04-26 16:51:43

+0

echo'

'。$ incident。'
'; – 2012-04-26 16:57:30

回答

0

你缺少$在PHP

第一線

改變這一行:
if ($dept && year && $month) {

這樣:
if ($dept && $year && $month) {

嘗試先運行PHP文件首先檢查它是否正常工作。

+0

在這種情況下'year'評估爲'true' – 2012-04-26 16:55:52

+0

Oppps沒有看到這一點。謝謝你的收穫!但是,它似乎仍然沒有將正確的值返回給JQuery – jmg0880 2012-04-26 16:58:08

+0

這有點令人尷尬。 '$ query_image = 「SELECT image_content從圖像中WHERE DEPT_NAME = '$部門' AND年= '$年',每月= '$月'」;' 我不得不上述更改爲: ' $ query_image =「SELECT image_content FROM image WHERE dept_name ='$ dept'AND year ='$ year'AND MONTHNAME(date)='$ month'」;' 所以我的SQL是在這裏責怪 – jmg0880 2012-04-26 19:42:17

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);命令,直到你趕上該行的問題

0

插入動態內容爲div,而不是入空/不完整的table結構

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

,並在PHP

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

也看過其他關於SQL注入和缺少$年的評論

+0

感謝您的反饋。我確實嘗試了上面的內容,但它仍然不會在div標籤內返回所需的表格。現在PHP似乎是有序的。不確定什麼是錯的 – jmg0880 2012-04-26 17:18:20

+0

你在檢查什麼是真正發生在螢火蟲?也更好地使用'數據:{dept_sent:dept_sent,month_sent:month_sent,year_sent:year_sent}'但無論如何,我不明白'year_sent'和'dept_sent'是如何賦值的? – 2012-04-26 17:52:02