首页新闻找找看学习计划

求大神解答php从mysql里面的数据转化成数组,然后传回json再拼成<li>

0
[已解决问题] 解决于 2015-05-22 13:39
<div class="rotary">
    <div class="rotaryArrow" id="rotaryArrow"></div>
    <div class="list">
        <ul id="li">
        </ul>
    </div>
 <script type="text/javascript">
    $.ajax({
        type:'POST',
        url:'test1.php',
        data:['li'],
        dataType: 'json',
        cache:false,
        error: function(){ 
            alert('出错了!'); 
            return false; 
        },
success: function(json){
    var list = '';
    for(var o in json){
        list += json[o];
    }

    $("#li").html(list);
}
    });

要求返回格式是json,并且需求只返回数组,再由html里面拼成<li>

<?php
$servername = "localhost";
$username = "root";
$password = "123";
$dbname = "list";
$conn = new mysqli($servername, $username,$password,$dbname);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
} 
$sql = "SELECT num FROM tele";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
    $li='';
    while($row = $result->fetch_assoc()) {
        $li .= '<li>'. $row["num"].'</li>';
    }
} else {
    echo "0 results";
}

$conn->close(); 
echo json_encode($li); 
?>

dudu大神快来就我

YaYou~的主页 YaYou~ | 初学一级 | 园豆:6
提问于:2015-05-22 11:35
< >
分享
最佳答案
2

PHP:

$result = $conn->query($sql);
$json = mysqli_fetch_all ($result, MYSQLI_ASSOC);
echo json_encode($json );

JS:

success: function(json){
    var list = '';
    for(var o in json){
        list += '<li>'+json[o]+'</li>';
    }

    $("#li").html(list);
}
奖励园豆:5
jeffreywu | 初学一级 |园豆:79 | 2015-05-22 12:13
其他回答(1)
0

不会php,但是你应该是从数据库取得的数组直接转成json然后传到前台,由jq来进行解析json并赋值到li里。

你现在是拼好了li再传,就和json没什么关系了,应直接返回你拼好的字符串。

福云 | 园豆:206 (菜鸟二级) | 2015-05-22 12:04

是呀 这个我也知道...但是我不知道怎么赋值到li里

 

支持(0) 反对(0) YaYou~ | 园豆:6 (初学一级) | 2015-05-22 12:28

@L娘: JeffreyWu  已经给出正确代码啦。

支持(0) 反对(0) 福云 | 园豆:206 (菜鸟二级) | 2015-05-22 12:30
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册