0

此代码根据 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 中,因此默认情况下,您可以设置列表样式以按顺序显示数字。然后我想不出该怎么做。你能给我一些提示吗?谢谢!

4

1 回答 1

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++;
}
于 2012-05-12T02:04:24.167 回答