从数据库加载数据+ ajax + php

时间:2013-01-19 12:04:40

标签: php mysql ajax database

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

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

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

现在我想加载字段year _.... when district ='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)。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

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

更新。仔细看看你的php,每年都要something like来绘制:

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

    });
});