2013-01-19 161 views
1

我有一个关于从数据库中加载多个字段并在javascript中使用它们的问题。从数据库加载数据+ ajax + php

这是我的表“死亡”包含字段:

- district 
- year_1999 
- year_2000 
- year_2001 
- year_2002 
- year_2003 
- year_2004 
- year_2005 
- year_2006 
- year_2007 
- year_2008 
- year_2009 

现在我要加载的字段一年_....时区=“districtname”

这是我有:( PHP)

$host = "localhost"; 
    $user = "root"; 
    $pass = "root"; 

    $databaseName = "testdatabase"; 
    $tableName = "deaths"; 

    //-------------------------------------------------------------------------- 
    // 1) Connect to mysql database 
    //-------------------------------------------------------------------------- 

    $con = mysql_connect($host,$user,$pass); 
    $dbs = mysql_select_db($databaseName, $con); 

    //-------------------------------------------------------------------------- 
    // 2) Query database for data 
    //-------------------------------------------------------------------------- 
    $result = mysql_query("SELECT year_1999,year_2000,year_2001,year_2002,year_2003,year_2004,year_2005,year_2006,year_2007,year_2008,year_2009 FROM $tableName WHERE district = 'Binnenstad'");   //query 

    $data = array(); 
    while ($row = mysql_fetch_row($result)) 
    { 
    $data[] = $row; 
    } 
    echo json_encode($data); 

的Javascript:

$(function() 
    { 
    //----------------------------------------------------------------------- 
    // 2) Send a http request with AJAX http://api.jquery.com/jQuery.ajax/ 
    //----------------------------------------------------------------------- 
    $.ajax({          
     url: './api4.php',     //the script to call to get data   
     data: "",      //you can insert url argumnets here to pass to api.php 
             //for example "id=5&parent=6" 
     dataType: 'json',    //data format  
     success: function(rows)   //on recieve of reply 
     { 
     //-------------------------------------------------------------------- 
     // 3) Update html content 
     //-------------------------------------------------------------------- 

     for (var i in rows) 
     { 
      var row = rows[i];   

      var data = row[0]; 

      $('#districts ul').append("<li>" + data + "</li>") 
        .append(); 
     } 
     } 
    }); 
    }); 

但是这只显示第一列数据(year_1999)。

我该如何解决这个问题?

+2

每年保持在不同的列/表是疯狂的东西 – Peter

+0

1775531我在您的个人资料,你从来没有接受一个答案看到,同时,可以是结果由于你的低报酬,你应该在未来损失好的答案。 –

回答

3

而不是for (var i in rows) ...尝试:

UPDATE。寻找你的PHP更接近尝试something like此画每年:

$.each(rows, function(i, data) { 
    $.each(data, function(j, year) { 
     $('#districts ul').append("<li>" + year + "</li>") 

    }); 
});