2016-02-17 5 views
0

Я уже узнал из Интернета или по другим вопросам в этом форуме, но все еще путают, и этот код все еще не работает.Использование Ajax для отображения данных из базы данных

Я пытаюсь отображения данных с помощью onChange по меню комбинированного списка (1-7), если 0 будет пустым

Это для кода html & javascript:

<html> 
    <head> 
     <script src="jquery-1.9.1.js"></script> 
    </head> 
    <script type="text/javascript"> 
    $(document).ready(function() { 
     $('#menu').change(function(){ 
      if($(this).val != 0){ 
       var menu_id = $(this).val(); 
       $.ajax({ 
        type:  "GET", 
        url:  "menu.php", 
        menu_id : menu_id, 
        dataType: "html", 
        success: function(response){ 
         $("#data-menu").html(response); 
        } 
       }); 
      } 
     }).change(); 
    )}; 
    </script> 

<body> 
    <table> 
     <tr> 
      <td>Menu</td> 
      <td> 
       <select name="menu" id="menu"> 
        <option value="0" selected='selected'>Select Menu </option> 
        <option value="1">Menu - 1 </option> 
        <option value="2">Menu - 2 </option> 
        <option value="3">Menu - 3 </option> 
        <option value="4">Menu - 4 </option> 
        <option value="5">Menu - 5 </option> 
        <option value="6">Menu - 6 </option> 
        <option value="7">Menu - 7 </option>  
       </select> 
      </td> 
     </tr> 
    </table>  
    <div id="data-menu" align="center"> 
     <!-- Show Data In Here --> 
    </div> 
</body> 

И это для menu.php

<?php 
$connection=mysql_connect("localhost","root",""); 
if(!$connection) 
    die('Cant connect !! '. mysql_error()); 

mysql_select_db("BK",$connection); 
$menu_id= $_GET['menu_id']; 

$result=mysql_query("select * from show_product where menu = '" . $menu_id . "' order by show_product_id",$connection); 

$no = 0; // for number 

echo "<table border='1' > 
    <tr> 
     <td>Menu :</td> 
     <td>".$menu_id."</td> 
    </tr> 
    <tr> 
     <td>No</td> 
     <td>Head Text</td> 
     <td>Title Text</td> 
     <td>Max Item</td> 
     <td>Date</td> 
     <td>Status</td> 
    </tr>"; 

while($data = mysql_fetch_row($result)) 
{ 
    echo "<tr>"; 
    $no+=1; 
    echo "<td>".$no."</td>";         //no 
    echo "<td>".$data["head_text"]."</td>";     //head 
    echo "<td>".$data["title_text"]."</td>";     //title 
    echo "<td>".$data["max_item"]."</td>";      //max item 
    echo "<td>".$data["date_added"]."</td>";     //date 
    echo "<td>".'<a href = "Edit_menu.php?id_menu='.$data["show_product_id"].'">EDIT</a>'."</td>"; // EDIT 
    echo "</tr>"; 
} 
echo "</table>"; 
?> 
+1

Пожалуйста, обратитесь это http://stackoverflow.com/questions/9436534/ajax-tutorial-for-post-and-get. Это решит вашу проблему. В вашем коде вы передаете 'menu_id: menu_id,' вместо этого pass 'menu_id' в данных. – Apb

ответ

3

Для передачи данных по ajax, используйте data ключ в ajax config и data должны провести object

Чтобы получить доступ к данным через php, пользователь key из object

Попробуйте это:

$(document).ready(function() { 
 
    $('#menu').change(function() { 
 
    if ($(this).val != 0) { 
 
     var menu_id = $(this).val(); 
 
     $.ajax({ 
 
     type: "GET", 
 
     url: "menu.php", 
 
     data: { 
 
      menu_id: menu_id 
 
     }, 
 
     dataType: "html", 
 
     success: function(response) { 
 
      $("#data-menu").html(response); 
 
     } 
 
     }); 
 
    } 
 
    }).change(); 
 
});

menu_id можно обращаться как $_GET['menu_id']

Fiddle here

+0

Уже следуйте инструкциям, которые еще не работают? – Vilthering

+0

Когда я пытаюсь изменить меню вроде (1-7), ничего не отображает? – Vilthering

Смежные вопросы