2013-10-19 48 views
0

我需要幫助添加variable value and numeric value和數值從MySQL數據庫列中獲取?我如何添加變量值與MySQL數據庫列的數值

問題

當我插入std0001到數據庫列,然後功能將無法正常工作,並移動到其他std0002如果在數據庫列只數值,那麼函數的工作,搬到0002,003.0003

代碼

$query = "SELECT snum val FROM students"; 
$result = mysql_query($query); 
$row = mysql_fetch_assoc($result); 

$new_val = $row['val']+1; 
$a='std'; 
for($i=0; $i <=$new_val; $i++) { 

if($new_val == 0) { 
$say=$a.'0'.$i; 

} else if($new_val == 1) { 
$say=$a.'00'.$i; 
} 

else 
{ 
$say=$a.'000'.$i; 
} 
} 

比如我想要一個像

Std00001 
Std00002 
Std00003 
. 
. 
. 
. 
. 
. 
. 
So On... 
+0

我看不出你如何把它放在數據庫中。請添加此代碼。 – Aris

+0

我想生成這樣的系列... Std00001 Std00002 Std00003和$ a + db列值,但問題是當我運行該代碼和函數生成Std00001,然後停止.. Std00001它不能生成Std00002等等$ a值? –

回答

0

在JavaScript試試這個代碼

var a = "00001"; 
    /*store the value "00001" in a variable as you are getting it from a column*/ 
var b = "std"; 
var c = parseInt(a) + 1; 
alert(b + c); 
0

你在你的代碼中的多個問題:

  1. 查詢

    $query = "SELECT MAX(snum) val FROM students"; 
    

    將返回只有一行。所以,你的腳本只能運行一次。這就是爲什麼你只有Std00001,然後停止。

  2. 現在讓我們假設您的查詢確實檢索了很多行。在這裏你仍然只使用mysql_fetch_assoc獲取一行。檢索多行的正確方法是這樣的:

    while ($row = mysql_fetch_assoc($result)) { 
        ... your code here for each row 
    } 
    

    看到http://php.net/manual/en/function.mysql-fetch-assoc.php來回例子

  3. 你的for循環是錯誤的。

    for($i=1;$i<=$new_val;$i++){ 
    

    $ new_val是一個字符串,它必須是一個整數。

+0

我想生成這樣的系列... Std00001 Std00002 Std00003,但基於'$ a + db列'值 –

+0

您必須解決所有這些問題。 – Aris

相關問題