2012-05-12 13 views
0

このコードでは、select文で指定された条件に基づいて最初の5行を選択し、numberで指定された列からデータをフェッチし、返されたデータをページにエコーします。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); 
?> 

私が必要とするのは、エコーされたデータです。数字が必要です。たとえば、1レベル目が上になるなどです。これはすでにレベル別にデータを注文していますが、名前ごとに数字をエコーすることはできません。私の考えは、それらがオールの中に現れるようにすることでした。そして、各ユーザ名はliの中にありますので、デフォルトでリストをスタイル順に並べて表示することができます。それから、私はそれをどうやって行うのか考えることができません。いくつかのヒントを教えてください。ありがとう!

答えて

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

ありがとうございました!それは素晴らしい、ちょうど私が探していたものです。 –

関連する問題