2014-12-23 134 views
-2

我想從數據庫中獲取每一步的增加的步數。這裏是我的代碼:自動增加一個變量

//get the project steps 
$ID=mysqli_real_escape_string($con,$_GET['id']);   
     $projSteps="SELECT project_steps.projectStepDesc,project_steps.projectID FROM project_steps WHERE project_steps.projectID=$ID"; 
    $results1 = mysqli_query($con,$projSteps); 
    if (!$results1) { 
printf("Error: %s\n", mysqli_error($con)); 
exit(); 
} 
     if (mysqli_num_rows($results1) > 0){ 
     echo '<h2>Project Steps:</h2>';   

while ($rows = mysqli_fetch_assoc($results1)) 
    { 
     $a=1; 
     echo "Step ". $a++ ."<br />"; 
     $psteps=$rows['projectStepDesc']; 
     echo '<div id="steps">'; 
     echo "$psteps"; 
     echo '</div>'; 
     }}//end project steps 

這只是輸出每一步的第1步。我試圖讓它說第1步,第2步,第3步等。我怎樣才能做到這一點?

+2

在'while循環開始之前初始化'$ a = 1' _before_。這很關鍵,或者在每次迭代時重置爲1。 –

+2

把** $ a = 1; ** **外**,而 – donald123

回答

3

你正在while循環中聲明計數器。這不會起作用,因爲每當你循環並執行某些操作時都會調用$a = 1;。變化:

while ($rows = mysqli_fetch_assoc($results1)) 
    { 
     $a=1; 

要:

$a=1; 
while ($rows = mysqli_fetch_assoc($results1)) 
    { 
+0

這很好...不知道我怎麼錯過了......我會爲這個答案投票。你能提出我的問題嗎? – user3251779

+0

當然。錯過是一件容易的事情,但從錯誤中學習,你會好起來的。乾杯! –

2

您每次都在循環中設置$a = 1。把它放在循環之外。

0

你已經把$ a = 1,而在外面,其他明智的,當循環運行值的獲取每一次變化爲1。

$ID=mysqli_real_escape_string($con,$_GET['id']);   
    $projSteps="SELECT project_steps.projectStepDesc,project_steps.projectID FROM   project_steps WHERE project_steps.projectID=$ID"; 
$results1 = mysqli_query($con,$projSteps); 
if (!$results1) { 
     printf("Error: %s\n", mysqli_error($con)); 
    exit(); 
    } 
    if (mysqli_num_rows($results1) > 0){ 
    echo '<h2>Project Steps:</h2>';   
    $a=1; 
     while ($rows = mysqli_fetch_assoc($results1)) 
    { 

    echo "Step ". $a++ ."<br />"; 
    $psteps=$rows['projectStepDesc']; 
    echo '<div id="steps">'; 
    echo "$psteps"; 
    echo '</div>'; 
    }}//end project steps