1

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を取得して自動インクリメントしたいのですが、上記はデータベースの最初の行のみをインクリメントします。

任意のヘルプや提案をいただければ幸いです。

4

3 に答える 3

5

主キーの降順で順序を追加し、最初の結果のみに制限するだけです。

SELECT * FROM TableName ORDER BY TableId DESC LIMIT 1
于 2013-07-29T12:17:11.780 に答える
0

ajax を使用し、同じバージョンの PHP を維持する:

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

しかし、あなたがやろうとしていることを理解し、PHP経由で最後のIDを返すように、ajax関数を変更することをお勧めします。最後の ID だけが必要であるが、データベース内のすべてのデータを取得している場合、それは少しやり過ぎです。

于 2013-07-29T12:22:49.830 に答える