- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想在 20 个条目后停止该行,并在下一侧的同一点返回。简而言之,我希望每个站点只有 20 个条目。
这是我的代码:
<html>
<head>
<title>server ranking</title>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="layout.css">
</head>
<body>
<?PHP
$verbindung = mysql_connect("localhost", "root", "") or die("Fehler bei der datenbank");
mysql_select_db("users") or die ("datenbank existiert nicht")
?>
<?PHP
$abfrage = "SELECT * FROM `ranking` ORDER BY `points` DESC ";
$ergebnis = mysql_query($abfrage);
$zaehler = 0;
?>
<table rules="all" style="90%;">
<caption>ViceVice Server Ranking</caption>
<tr style="text-align:center; vertical-align:middle;">
<td>Rang</td>
<td>Benutzername</td>
<td>Punkte</td>
</tr>
<?PHP
while($row = mysql_fetch_object($ergebnis))
{
$zaehler = $zaehler + 1;
?>
<tr>
<td style="text-align:center; vertical-align:middle; width: 50;">
<?PHP
echo $zaehler;
?>
</td>
<td style="text-align:center; vertical-align:middle; width: 50;">
<img src="https://minotar.net/helm/<?php echo $row->user; ?>/25.png">
</td>
<td style="text-align:left; vertical-align:middle; width: 200;">
<?PHP
echo $row->user;
?>
</td>
<td style="text-align:left; vertical-align:middle; width: 100;">
<?PHP
echo $row->points;
?>
</td>
</tr>
<?PHP
}
?>
</table>
</body>
</html>
I would thank you for any help ;D
最佳答案
这并不是一个明确的答案,因为有很多方法可以完成 OP 的要求。但是,作为评论发布太长了。该方法使用简单的URL参数指定分页(start
显示记录开始,show
指定显示多少条记录),MySQL的LIMIT
子句来限制数据库输出。显然您必须检查 $_GET 参数中的值是否合理。如果用户将 URL 更改为读取 page.php?start=hello&show=world
,您的查询将失败...为简洁起见,我省略了数据卫生。
page.php:
<?php
$sql = "SELECT id, description FROM mytable ORDER BY id";
// if there is the "start" url parameter, use it. Else, start from zero.
$start = isset($_GET['start']) ? $_GET['start'] : 0;
// if there is the "show" url parameter, user it. Else, use default 20 records.
$show = isset($_GET['show']) ? $_GET['show'] : 20;
$sql .= " LIMIT $start,$show";
// doDatabaseQuery is a fictitious function which we assume
// returns an array of objects. Comment this line if using test data, below
$records = doDatabaseQuery($sql);
// if you want to test this with some fake data, uncomment this code section
// which creates 200 fake records, and puts them into an
// array then array_slice acts like the "LIMIT" clause in the mysql query
/*
for($x=1;$x<=200;$x++) {
$o = new stdClass();
$o->id = $x;
$o->description = "Description for object $x";
$records[] = $o;
}
$records = array_slice($records, $start, $show);
*/
// set the "start" parameter value in the "Back" link
// if it's less than zero, we set it to zero.
$previous_start = $start - $show;
if($previous_start < 0) $previous_start = 0;
// set the "start" parameter value in the "Next" link
// if we wanted to do something more advanced, we would check
// this value is not greater than the number of records in the table
$next_start = $start + $show;
include "page.html";
?>
page.html:
<html>
<head>
<title>Test Page</title>
</head>
<body>
<h1>Test Pagination Page</h1>
<table>
<thead>
<tr>
<th>ID</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<?php for($i=0; $i < count($records); $i++): ?>
<tr>
<td><?php echo $records[$i]->id; ?></td>
<td><?php echo $records[$i]->description; ?></td>
</tr>
<?php endfor; ?>
</tbody>
<tfoot>
<tr>
<td><a href="page.php?start=<?php echo $previous_start;?>&show=<?php echo $show;?>">Back</a></td>
<td><a href="page.php?start=<?php echo $next_start;?>&show=<?php echo $show;?>">Next</a></td>
</tr>
</tfoot>
</table>
</body>
</html>
优点:允许非常基本的分页,但可以轻松调整以提供“最后一页”和“第一页”功能。
缺点:允许用户手动操作 URL;想象一个包含 2000000 条记录的表 - 用户可以将 show
参数设置为 2000000 并让您的服务器做大量工作以从表中提取所有记录......为了解决这个问题,您可以将代码中的 $show
变量限制为最大值,或者将其从 URL 中完全删除并保持固定值。
关于php - 如何在 20 个条目后拆分排名(表)并在下一个站点查看下一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23089067/
我正在查看下面的示例代码, r element frequency and column name 并且想知道除了r中的排名和频率之外,是否有任何方法可以显示每列中每个元素的索引。因此,例如,所需的输
我有下表按 Id、Year DESC 排序 ID 年份有效 1 2011 1 1 2010 1 1 2009 0 1 2002 1 4 2013 1 4 2012 1 4 2011 1 等等。 我想要
鉴于此数据 Type Time Outcome Wanted Result 1 8:00 1 1 1 9:00 1 1 1 10:00 1 1 0
我正在寻找一种对两个句子进行排名/匹配的方法。 例如,取以下2个例句。 这是一个简短的句子。 这是一个包含很多单词的长句子。 我的新句子是这是一个句子。 我想将我的新句子与现有句子进行比较。我的新句子
我是 scikit 新手,我正在按照此处的示例 http://scikit-learn.org/stable/tutorial/text_analytics/working_with_text_dat
我有一张 table : r_user | r_points | -------------------- user1 | 12 | user2 | 124 | use
我需要获得顶级玩家、给定玩家的排名以及与该给定玩家排名相关的少数玩家。 为了更清楚地解释,下表是我想要的,它显示了得分最高的 3 名玩家、给定玩家的排名 (id=11) 以及得分略高于和低于该给定玩家
我正在尝试创建一个排名(排名)查询。 我使用表users、schedule 和picks来计算排名。然而,这样做的缺陷是,如果用户未提交任何选择,则该用户将不会出现在排名中。 下面的查询返回所有已提交
这个问题已经有答案了: 已关闭10 年前。 Possible Duplicate: High score system from my iphone game 我的查询是: $sql = "SELEC
我有一个玩家表和MatchUps表。 MatchUps 表具有一个 winner_id 列和一个 loser_id 列。我可以根据一次查询的胜率获得排名/排名吗?如果我能为每个玩家返回这样的东西,那就
我正在尝试创建一个排名/阶梯系统,其中排名最高的氏族 (1) 应位于顶部,排名为 2 的氏族应位于顶部,依此类推。但我无法让它工作......我尝试了不同的方法: PHP: $sql = mysql_
我需要一份游戏中排名最高的玩家列表。排名是即时计算的,数据取自两个表。我设法以正确的方式对它们进行排序,但是@rank:=0 -> @rank:=@rank+1 技巧,其中一个名为 rank 的附加字
下周末我们将进行一场包含 3 项资格赛(半决赛和决赛)的比赛。只有最好的 15 名参赛者才能参加半决赛。只有最好的 6 人才能参加总决赛。 在资格考试中,每项资格考试的分数从 0 到 100 不等 我
我正在尝试找出对我的产品进行加权的最佳方式,以及它们应该以何种顺序出现在主页等地方。 我想处理四个指标并将其转化为排名: 购买产品 产品有多久了(以天为单位) 产品被保存了多少次 产品被浏览了多少次
使用 @N=@N + 1 的经典技巧来获取某些有序列上的项目排名。现在在订购之前,我需要通过将它与其他表内部连接来从基表中过滤掉一些值。所以查询看起来像这样 -: SET @N=0; SELECT
我需要一些帮助来处理在 MySQL 中排名时的关系。例如: 播放器 |积分 玛丽:90 鲍勃:90 吉姆:65 凯文:12 Bob 和 Mary 应该都排名第一。吉姆应该是#3。凯文应该是#4。 My
我正在寻找一种算法,该算法可以为我提供具有特定强度的下一个排列。长度为 n 的排列由元素 (1,2,3,...n) 定义 排列的强度是多少? 长度为 10 的排列的强度定义为 |a1-a2|+|a2-
我正在编写一个具有信誉组件的电子商务引擎。我希望用户能够对项目进行评论和评分,并能够对评论进行评分。 用于根据“最佳”评论对项目进行排序的最佳算法是什么?它必须根据给出最佳评论的人获得的质量评论数量进
我有一个按游戏结果填满游戏的数据库表,想知道我是否可以计算以下内容: GP(玩过的游戏) 获胜 失败 积分(每胜2分,每负1分) 这是我的表结构: CREATE TABLE `results` (
我有一个 users 表,其中有一列名为 money_sent。我想按 money_sent 降序排列此表,然后找出特定用户的“排名”。 例如,只有 111 人比用户 12392 花费更多的钱,因此他
我是一名优秀的程序员,十分优秀!