此代码根据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>: ".$row[0]." <br/>";
echo "<b>Level</b>: ".$row[1]."<br/>";
echo "<br/>";
}
/* Free statement and connection resources. */
sqlsrv_free_stmt( $query);
sqlsrv_close( $connect);
?>
我需要它做的是回显数据,必须有一个数字,例如:更高级别将是第一个,依此类推。这已经按级别对数据进行排序,但我无法为每个名称回显一个数字。我的想法是让它们出现在ol里面,每个用户名都在li里面,所以默认情况下你可以按列表样式按顺序显示数字。然后我无法思考如何做到这一点。你能给我一些提示吗?谢谢!
答案 0 :(得分:0)
我认为这就是你要找的东西。它将在每个名称前打印一个数字。
$counter = 1;
while( $row = sqlsrv_fetch_array( $query, SQLSRV_FETCH_NUMERIC))
{
echo $counter.". <b>Name</b>: ".$row[0]." <br/>";
echo "<b>Level</b>: ".$row[1]."<br/>";
echo "<br/>";
$counter++;
}