生成一个自动序列号并将结果保存在数据库中


Generate an auto serial number and save the result in database

谁能帮我一下?

我在网上得到了一个关于如何生成一个自动序列号的代码,并编辑它以适应我的需要,这当然给了我想要的输出。但是在数据库中保存结果时,它只保存最后一个值"99",而不是从00001开始的所有值。

我在如何重写代码以保存数据库中的所有值的中间切断。请有人看看下面的代码和建议

<?php require_once('Connections/@@@@@.php'); ?>
<?php
for($i = 1; $i < 100; $i++){
$result = str_pad($i, 5, '0', STR_PAD_LEFT) . '<br />';
echo $result;
} 
mysql_select_db($database_@@@@@, $@@@@@);
mysql_query("INSERT INTO codes (sn) VALUES ('$result')");
?>

谢谢

当我要进行100次查询时,最好不要进行100次查询

<?php require_once('Connections/@@@@@.php'); ?>
<?php
$result ='';
for($i = 1; $i < 100; $i++){
$result .= "'".str_pad($i, 5, '0', STR_PAD_LEFT)."'," ;//crate concatenated string
// echo $result."<br>";
} 
$result = substr($result,0, -1); //removes last comma
mysql_select_db($database_@@@@@, $@@@@@);
mysql_query("INSERT INTO codes (sn) VALUES ($result)");
?>

这将在单个查询中插入所有100个,<br>也已从db字符串中删除

对于自动序列号,这是我一直使用的

SELECT j.*, DATE_FORMAT( ddate,  '%d %M %Y' ) AS ddate2, DATE_FORMAT( dateapplied,  '%d %M %Y' ) AS dateapplied2, @curRow := @curRow + 1 AS sn
FROM jobsappltn j JOIN  (SELECT @curRow := 0) r
ORDER BY j.jaid DESC

这样你就不需要使用mysql的auto increment id…只需将sn列的值作为第一列。

你的表看起来像这样

sn       Ddate2        Dateapplied2
1        09-09-2018    09-08-2018
2        10-09-2018    29-08-2018