通过PHP为回显数据分配一个数字

时间:2012-05-12 02:00:18

标签: php sql-server database

此代码根据select语句中表示的条件选择前五行,然后从number指定的列中获取数据,然后将返回的数据回显到页面。

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里面,每个用户名都在li里面,所以默认情况下你可以按列表样式按顺序显示数字。然后我无法思考如何做到这一点。你能给我一些提示吗?谢谢!

1 个答案:

答案 0 :(得分: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++;
}