【问题标题】:Load data from database + ajax + php从数据库加载数据 + ajax + php
【发布时间】:2013-01-03 01:29:48
【问题描述】:

我有一个关于从数据库加载多个字段并在 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_.... 当 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)。

我该如何解决这个问题?

【问题讨论】:

  • 将每年保存在不同的列/表中是很疯狂的事情
  • 1775531 我在您的个人资料中看到您从未接受过答案,同时这可能是错误答案的结果,由于您的回报率低,您应该在未来失去好答案。

标签: php mysql ajax database


【解决方案1】:

改为for (var i in rows) ...试试:

更新。仔细看看你的 php 尝试something like 每年绘制:

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

    });
});

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-17
    • 1970-01-01
    • 1970-01-01
    • 2019-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多