이것은 사용자가 리그에서 클릭 할 때 내 사이트의 페이징 스크립트입니다.
리그가 화면에 표시되고 리그가 3 행 이상인 경우 여러 페이지로 나뉩니다.
내가하고있는 일은 사용자가 리그에있는 위치에 따라 달라집니다 (SQL 쿼리는 ORDER BY
테이블의 총 포인트 열을 사용합니다). 예를 들어 사용자가 리그 테이블의 페이지 1에 있다면 표시해야합니다 해당 페이지가 먼저 표시되지만 사용자가 리그 표의 3 페이지에 있으면 해당 페이지가 먼저 표시됩니다.PHP 페이징, 먼저 특정 페이지보기
나를 달성하기위한 방법을 아는 사람이 있습니까? PHP로
:
//Recently updated from answer
$sql="SELECT members.username, members.total_points FROM members, members_leagues WHERE members.username = members_leagues.username AND
members_leagues.sub_league = '$chosenleague' ORDER BY members.total_points DESC";
$result=mysql_query($sql);
$i = 0;
$found = false;
$team_position = 0;
while (!$found && $row = mysql_fetch_row($result)){
if ($row[username] == $_SESSION[username]) {
$team_position = $i;
$found = true;
}
$i++;
}
$rowsPerPage = 3;
$pageNum = ceil($i/$rowsPerPage);
//end of recently updated
if(isset($_GET['page']))
$pageNum = $_GET['page'];
$offset = ($pageNum - 1) * $rowsPerPage;
$counter = $offset + 1;
$query = " SELECT members.username, members.teamname, members.total_points, FROM members, members_leagues WHERE members.username = members_leagues.username AND members_leagues.sub_league = '$chosenleague' ORDER BY members.total_points DESC " . " LIMIT $offset, $rowsPerPage";
$result = mysql_query($query) or die('Error, query failed');
echo "<h3 style=\"color:red;\">$chosenleague</h3>";
echo "<table>";
echo "<tr><th>Position</th>";
echo "<th>Team</th>";
echo "<th>Points/Overall</th>";
echo "<th>Points/Last Race</th>";
echo "<th>Team Setup</th></tr>";
while($row = mysql_fetch_array($result))
{
if($row[username] == $_SESSION[username])
echo "<tr style=\"color:red;\"><td>";
else
echo "<tr><td>";
echo $counter;
echo "</td><td>";
echo $row[teamname];
echo "</td><td>";
echo $row[total_points];
echo "</td><td>";
echo "</td><td>";
echo "</td></tr>";
$counter++;
}
echo "</table>";
$query = "SELECT COUNT(members.username) AS numrows FROM members, members_leagues WHERE members.username = members_leagues.username
AND members_leagues.sub_league = '$chosenleague'";
$result = mysql_query($query) or die('Error, query failed');
$row = mysql_fetch_array($result, MYSQL_ASSOC);
$numrows = $row['numrows'];
$maxPage = ceil($numrows/$rowsPerPage);
$self = $_SERVER['PHP_SELF'];
$nav = '';
if ($pageNum > 1)
{
$page = $pageNum - 1;
$prev = " <a href=\"$self?league=". rawurlencode($chosenleague) . "&page=". rawurlencode($page) . "\"><< Prev</a> ";
$first = " <a href=\"$self?league=". rawurlencode($chosenleague) . "&page=". rawurlencode(1) . "\">First</a> ";
}
else
{
$prev = '';
$first = '';
}
if ($pageNum < $maxPage)
{
$page = $pageNum + 1;
$next = " <a href=\"$self?league=". rawurlencode($chosenleague) . "&page=". rawurlencode($page) . "\">Next >></a> ";
$last = " <a href=\"$self?league=". rawurlencode($chosenleague) . "&page=". rawurlencode($maxPage) . "\">Last</a> ";
}
else
{
$next = '';
$last = '';
}
echo "<div id=\"pagenum\">Page $pageNum of $maxPage ". $first . $last . $prev . $next ."</div>";
페이지 번호 순서를 변경 하시겠습니까? (Page1, Page2, Page3?) – tskulbru
페이지 번호의 순서를 변경하지 않고 처음으로 리그를 본 경우 사용자가있는 페이지가 표시됩니다. 따라서 리그를 클릭하면 리그가 표시되고 팀이있는 페이지가 있습니다. 리그가 30 페이지이고 6 번째 페이지에 있으면 6 번째 페이지가 먼저 표시됩니다. – Lee
자바 스크립트를 아십니까? –