谁能帮我一下?
我在网上得到了一个关于如何生成一个自动序列号的代码,并编辑它以适应我的需要,这当然给了我想要的输出。但是在数据库中保存结果时,它只保存最后一个值"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