Ajax:从数据库中获取最后一行

时间:2013-07-29 12:13:46

标签: php jquery mysql ajax database

是否可以使用Ajax从MySql数据库获取最后一行?

所以这是我的PHP:

<?php 
  include('../../dbconn.php');
  //--------------------------------------------------------------------------
  // Example php script for fetching data from mysql database
  //--------------------------------------------------------------------------
  $databaseName = "test";
  $tableName = "generalTransactions";

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

  $con = mysql_connect($gaSql['server'],$gaSql['user'],$gaSql['password']);
  $dbs = mysql_select_db($databaseName, $con);
  //--------------------------------------------------------------------------
  // 2) Query database for data
  //--------------------------------------------------------------------------

  $result = mysql_query("SELECT * FROM $tableName");          //query
  $array = mysql_fetch_row($result);                          //fetch result                          
  //--------------------------------------------------------------------------
  // 3) echo result as json 
  //--------------------------------------------------------------------------
  echo json_encode($array);

?>

这是Ajax:

$(function () 
  {
    //-----------------------------------------------------------------------
    // 2) Send a http request with AJAX http://api.jquery.com/jQuery.ajax/
    //-----------------------------------------------------------------------
    $.ajax({                                      
      url: 'general/transactions/add-journal.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(data)          //on recieve of reply
      {
        var id = data[0];
        var prefix = data[1];                //get prefix
        var journalNum = data[2];            //get journal number 
        //--------------------------------------------------------------------
        // 3) Update html content
        //--------------------------------------------------------------------
        //recommend reading up on jquery selectors they are awesome 
        // http://api.jquery.com/category/selectors/
        if(!journalNum){
            $('#generalJournalNumber').val('GJ00000001');
        }
        id++;
        $('#generalJournalNumber').val(prefix+'0000000'+id);
      } 
    });
  }); 

所以基本上我想得到最后一个id并自动递增它,上面只增加了数据库中的第一行。

任何帮助或建议,将不胜感激!

3 个答案:

答案 0 :(得分:5)

只需按主键降序添加订单,并将其限制为仅限第一个结果:

SELECT * FROM TableName ORDER BY TableId DESC LIMIT 1

答案 1 :(得分:0)

通过desc尝试订购。您将获得表格的最后一行

<强>语法

SELECT *
FROM table_name
ORDER BY column1, column2 

例如: -

SELECT * FROM `Tbl_name` ORDER BY 'id' DESC LIMIT 1

答案 2 :(得分:0)

使用ajax并保持相同版本的PHP:

var id = data[data.length-1];

但我更希望更改你的ajax函数,以便它能理解你想要做什么,并通过PHP返回最后一个id。如果你只想要最后一个id,但是你要重新获得数据库中的所有数据,那就有点过分了。