使用来自Mysql的动态数据的Jquery / Ajax树表

时间:2013-07-06 06:52:53

标签: jquery ajax treetable

我尝试使用Mysql中的动态数据创建树表。

它起作用(最后经过长时间的试用),当我点击一个父项时,它会从Mysql读取数据并显示该特定父项的子项。

但无论我点击哪一位家长,孩子总会在最后一排之后显示。 我需要孩子们在他们的父母和其他下一个父母之后出现在行中。

有两个文件:

  1. Main.php

    <html>
    <head>
    <style type="text/css">
        .toggle             {   color: #000000;         }
        .tog                {   height: 16px;
                                width: 16px;
                                display: inline-block;  }
        .parent .last       {   background-image: url(02_files/01_images/paper_small.png);          }
        .parent .tog        {   background-image: url(02_files/01_images/folder_green.png);         }
        .expand .tog        {   background-image: url(02_files/01_images/folder_green_open.png);    }
    </style>
    
    <script type="text/javascript" src="jquery-2.1.4.js"></script>
    <script type="text/javascript">
    $('document').ready(function(){
        $('.toggle').click(function() {
        $('#plant').html('<img src="02_files/01_images/loading.gif">');
            var area = $(this).parent().find('.toggle').text();<?
            $areaqtyquery = mysql_fetch_array(mysql_query("SELECT COUNT(DISTINCT(Business_Area)) AS areaqty FROM b01_functional_location"));
            $areaqty = $areaqtyquery['areaqty'];?>
            $.ajax({
                type:   'POST',
                url:    'Action.php',
                data:   'area='+area,
                success: function(data){
                    $('#plant').html(data);
                }
            });
        });
    });
    </script>
    </head>
    
    <body>
    <form>
    <table>
        <tr><th>No</th>
            <th>Area & Plant</th>
            <th>Location</th>
            <th>Main Group</th>
            <th>Sub Group</th>
            <th>Function Group</th>
            <th>Functional Location</th>
            <th>Equipment</th>
        </tr><?
            mysql_connect("localhost","root","");
            mysql_select_db("sfer");
            $area = 1;
            $sql = mysql_query("SELECT DISTINCT(Business_Area) FROM b01_functional_location");
            while($data=mysql_fetch_array($sql)){?>
                <tr id="area"   class='parent'>
                    <td align='center'> <?=$area?></td>
                    <td align='left'>   <a class="tog"></a>
                                        <a href="javascript:void(0)" class="toggle"><?=$data['Business_Area']?></a></td></tr><? $area++; }?>
    
    
                <tr id="plant"  class='parent'></tr>
    </table>
    </form>
    </body>
    
  2. action.php的

    <?php
    mysql_connect("localhost","root","");
    mysql_select_db("sfer");
    
    if (!empty($_POST['area'])){
    $area = 1;
    $sql = mysql_query("select DISTINCT(Plant), Plant_Description from b01_functional_location where Business_Area='$_POST[area]'");
    while($data=mysql_fetch_array($sql)){?>
        <tr id='plant' class='parent' data-level="1">
            <td><?=$area?></td>
            <td><?=$data['Plant'].' : '.$data['Plant_Description']?></td>
        </tr><? }   $area++;}?>
    
  3. 需要你的帮助,如何让孩子像正常的treetables一样在父母的下方切换。 真的很感谢你的帮助。

2 个答案:

答案 0 :(得分:2)

data()返回结果。您需要先捕获它才能使用它。

$result = data(...)

答案 1 :(得分:0)

您的$result变量未定义。尝试在此之前调用该函数。

像这样:

$result = data($type='...',$month='...');

将来,您应该使用mysql_error();功能来解决问题。

希望这有帮助。