Функцията ++ (помагайте)

mitko666

Registered
Този код ми извежда класиране на потребителите ми по точки и е зададено да изкарва по 5 потребителя на страницата
а променливата $place++ ; ми изкарва мястото на тотребителя и всичко е ок но кагато мина на втора страница тази променлива започва пак от 1 до 5
как може да стане така че да започва от 5 до 10 и така нататък в зависимост от страниците
Код:
<?php include ("conf.php"); 
if(!isset($_GET['page'])) 
{ 
$page = 1; 
} 
else { 
$page = $_GET['page']; 
} 
$max_results = 5; 
$from = (($page * $max_results) - $max_results); 
$db = mysql_query("SELECT * FROM users ORDER BY points DESC LIMIT $from,$max_results") or die(mysql_error());
while($row = mysql_fetch_array($db)) {
$place++ ;
$user = $row['username'];
$points = $row['points'];
echo"$place. $user: $points <br /> ";
}
echo "</table>";
$i++; 
if($i > 1) { 
echo"</tr><tr>";$i = "0"; 
} 
echo"</tr></table></tr></td></table>"; 
echo "<br>"; 
echo "<b>Страници:  ";
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM users"),0); 
$total_pages = ceil($total_results / $max_results); 
if($page > 1){ 
$prev = ($page - 1); 
echo "<a id=\"stranici\" href=\"".$_SERVER['PHP_SELF']."?page=$prev\"></a>"; 
} 
for($i = 1; $i <= $total_pages; $i++){ 
if(($page) == $i){ 
echo "$i "; 
} else { 
echo "<a id=\"stranici1\" href=\"".$_SERVER['PHP_SELF']."?page=$i\">$i</a> "; 
}} 
if($page < $total_pages){ 
$next = ($page + 1); 
echo "<a id=\"stranici\" href=\"".$_SERVER['PHP_SELF']."?page=$next\"></a></b>"; 
} 
?>
 
Код:
$place = ($page-1)*5;
като $page е номерът на страницата, а 5 е броят на потребители на една страница :)
 
<?php include ("conf.php");
if(!isset($_GET['page']))
{
$page = 1;
}
else {
$page = $_GET['page'];
}
$max_results = 5;
if ($page != 1) {
$place = $page * $max_results;
} else {
$place = 0;
}
$from = (($page * $max_results) - $max_results);
$db = mysql_query("SELECT * FROM users ORDER BY points DESC LIMIT $from,$max_results") or die(mysql_error());
while($row = mysql_fetch_array($db)) {
$place++;
$user = $row['username'];
$points = $row['points'];
echo"$place. $user: $points <br /> ";
}
echo "</table>";
$i++;
if($i > 1) {
echo"</tr><tr>";$i = "0";
}
echo"</tr></table></tr></td></table>";
echo "<br>";
echo "<b>Страници:  ";
$total_results = mysql_result(mysql_query("SELECT COUNT(*) as Num FROM users"),0);
$total_pages = ceil($total_results / $max_results);
if($page > 1){
$prev = ($page - 1);
echo "<a id=\"stranici\" href=\"".$_SERVER['PHP_SELF']."?page=$prev\"></a>";
}
for($i = 1; $i <= $total_pages; $i++){
if(($page) == $i){
echo "$i ";
} else {
echo "<a id=\"stranici1\" href=\"".$_SERVER['PHP_SELF']."?page=$i\">$i</a> ";
}}
if($page < $total_pages){
$next = ($page + 1);
echo "<a id=\"stranici\" href=\"".$_SERVER['PHP_SELF']."?page=$next\"></a></b>";
}
?>

Промяна:

Изпревариха ме. Btw ползвай ++$place, защото е малко по-бързо от $place++
 
Опссс сори за последния коментар оправих се по начина на F1r3Fl3xМерси все пак gLaVoReZa
 
gLaVoReZa каза:
................
Изпревариха ме. Btw ползвай ++$place, защото е малко по-бързо от $place++
:idea: :idea: :idea:
Че това:
е съвсем различно от
Едното връща първо стойността и после инкрементира, другото обратно!
 

Back
Горе