是否可以使用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并自动递增它,上面只增加了数据库中的第一行。
任何帮助或建议,将不胜感激!
答案 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,但是你要重新获得数据库中的所有数据,那就有点过分了。