php 如何从表列中选择最大值,分配给变量,并递增1

pn9klfpd  于 2023-03-21  发布在  PHP
关注(0)|答案(4)|浏览(90)

我是PHP和MySQL的新手。在我的数据库中,我有一个名为invoice的表。有一个自动递增的id列和一个invoice_num列(以及其他列)。连接到数据库后,我想:
1.获取(invoice表的)invoice_num列中当前最高的数字
1.将该值赋给一个变量并递增1
1.将新值回显到屏幕
就像...

$highNum = mysql_query("SELECT invoice_num FROM INVOICE ORDER BY id DESC LIMIT 1";);
$highNum = $highNum++;
echo "Use Invoice Number:" .$highNum. "\n";

但我不知道正确的语法。
旁白1:去掉id,只自动递增invoice_num列会更容易。但是我希望数字长于个位数,auto_increment以1...2...3...等开始。我知道如果我改变表,我可以从更大的数字开始,比如100000,但是我们分配的bash shell不允许学生改变表。旁白2:目前invoice_num是一个int。提前感谢您。

4dc9hkyq

4dc9hkyq1#

$highNum = mysql_query("SELECT MAX(invoice_num) FROM INVOICE";);
$highNum = $highNum++;
echo "Use Invoice Number:" .$highNum. "\n";

我也不知道PHP语法,但你的查询将如上所述。

fdbelqdn

fdbelqdn2#

您可以使用类似于

$highnum = mysql_query("SELECT MAX(invoice_num) FROM INVOICE");
echo "Use Invoice Number:" .$highNum++. "\n";
mepcadol

mepcadol3#

您可以使用MYSQL的MAX()函数来获取数据库表中最高的invoice_num。
而不是mysql_*函数使用mysqli_*'s代替或PDO's,因为mysql_*在PHP5.5.0中已经被弃用,并在**PHP 7.0.0中被删除。

更新代码:

$result = mysqli_query("SELECT MAX(invoice_num) as highNum FROM INVOICE ORDER BY id DESC LIMIT 1";);
$row = mysqli_fetch_assoc($result);
$highNum = $row['highNum']++;
echo "Use Invoice Number:" .$highNum. "\n";
vohkndzv

vohkndzv4#

您可以使用下面的查询来获取最大的发票号,然后使用这里显示的增量变量

$highNum = mysql_query("SELECT MAX(invoice_num) FROM INVOICE")

相关问题