2012-05-12 46 views
0

該代碼根據select語句中表達的條件選擇前五行,然後從數字指定的列中提取數據,然後將返回的數據回顯到頁面。通過PHP分配一個數字以回顯數據

if($connect === false) 
{ 
    echo "Could not connect.\n"; 
    die(print_r(sqlsrv_errors(), true)); 
} 

/* Select Statement */ 
$select = "SELECT TOP(5)name, lv FROM Character WHERE lv > 0 AND name NOT LIKE '%@%' AND name NOT LIKE '%[GM]%' 
AND name NOT LIKE '%[GA]%' AND name NOT LIKE '%[DEV]%' ORDER BY lv DESC "; 

/* Execute the query. */ 
$query = sqlsrv_query($connect, $select); 

if ($query) 
{ 
} 
else 
{ 
    echo "Error in statement execution.\n"; 
    die(print_r(sqlsrv_errors(), true)); 
} 

/* Iterate through the result set printing a row of data upon each 
iteration.*/ 
while($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_NUMERIC)) 
{ 
echo "<b>Name</b>: &nbsp;".$row[0]." <br/>"; 
echo "<b>Level</b>: &nbsp;".$row[1]."<br/>"; 
echo "<br/>"; 

} 

/* Free statement and connection resources. */ 
sqlsrv_free_stmt($query); 
sqlsrv_close($connect); 
?> 

我需要做的是回顯的數據,必須有一個數字,例如:更高的水平將是第一等等。這已經按等級對數據進行了排序,但我無法設置每個名稱的回顯數字。我的想法是讓它們出現在一個ol裏面,並且每個用戶名都會在裏面,所以默認情況下你可以按照順序顯示數字。然後我無法想象如何做到這一點。你能給我一些提示嗎?謝謝!

回答

0

我想這就是你要找的。它將在每個名稱前打印一個數字。

$counter = 1; 
while($row = sqlsrv_fetch_array($query, SQLSRV_FETCH_NUMERIC)) 
{ 
echo $counter.". <b>Name</b>: &nbsp;".$row[0]." <br/>"; 
echo "<b>Level</b>: &nbsp;".$row[1]."<br/>"; 
echo "<br/>"; 
$counter++; 
} 
+0

謝謝!它工作得很好,正是我所期待的。 –

相關問題