2014-06-29 86 views
0

有人可以幫我解決。生成一個自動序列號並將結果保存到數據庫中

我在線獲得了關於如何生成自動序列號並編輯它以適合我的需要的代碼,這些代碼給了我期望的輸出。但在保存在數據庫中的結果,僅保存最後一個值,這是「」,而不是從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([email protected]@@@@, [email protected]@@@@); 
mysql_query("INSERT INTO codes (sn) VALUES ('$result')"); 
?> 

謝謝

+1

您只運行一個插入查詢,這發生在您生成所有可能的代碼之後。您需要在for循環中移動mysql_query()調用,並確保在進入該循環之前發生mysql_select_db()。 – shaunc

+0

連接結果和運行1個查詢比運行100個查詢要好100倍 –

+0

@shaunc:好的。我會嘗試那個 –

回答

0

那最好是不要使100個查詢時1將做

<?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([email protected]@@@@, [email protected]@@@@); 
mysql_query("INSERT INTO codes (sn) VALUES ($result)"); 
?> 

這將插入所有100在一個單一的查詢,<br>也已從db字符串中刪除

相關問題