如何使用PHP

时间:2016-02-13 10:27:59

标签: php mysql json ajax

我的数据库结果是多维数组。 这是我在php文件中的代码。

$course_detail = array();
while($row=mysqli_fetch_assoc($result))
{
   //$course_detail[] = $row;
   $course_detail[ strtoupper($row['course_name'][0]) ][] = array(
    'course_name' => $row['course_name'],
    'duration' => $row['duration'],
    'c_desc' => $row['c_desc']
    );
}
echo json_encode($course_detail);

这是我的Ajax / Javascript / JSON代码。

<script type="text/javascript" >
function fetch(val) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
    if(xhttp.readyState == 4 && xhttp.status == 200) {
        document.getElementById("response").innerHTML = "";
        var j = JSON.parse(xhttp.responseText);
        for (var i = 0; i < j.length; i++) 
            {
                document.getElementById("response").innerHTML = j[i]['name'] + ' ' + j[i]['duration']+ ' ' +  j[i]['c_desc'] ;
            }
    }
}
xhttp.open('get', 'stream-process.php?sname='+val, true);
xhttp.send();
}

这个javascript函数是从提交按钮调用的,其中隐藏元素的ID是动态生成的。

以下是代码:

    <form action="" method="get">
    <?php
        $db_manager = new db_manager();
        $db_manager->DBLogin();
        $sql = "select * from streams";
        $result=mysqli_query($db_manager->connection,$sql);
        $counter = 1;
        while($row=mysqli_fetch_array($result))
        {   ?>
            <input type="hidden" id="stream_name<?php echo $counter ?>"  class="stream" name="sname" value="<?php echo $row["scode"]; ?>">
        <li class="list-group-item"><input class="form-control" onclick="fetch(document.getElementById('stream_name<?php echo $counter;?>').value)" type="button" id="submit" value="<?php echo $row["name"]; ?>"/></li>
        <?php
        $counter++;
        }
        ?>
        </form>
        </div>
        <div id="response" class="stream-detail col-sm-8">
        hey there......
        </div>

当我点击任何按钮时,没有显示任何内容。它使用Simple多维数组工作正确。但我想要在Associative Multidimensional Array中。这样我就可以区别对待每一行的每个字段。 提前谢谢。

0 个答案:

没有答案