Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Sortowanie wyników z Mysql
Forum PHP.pl > Forum > Przedszkole
tomi1985
Elo,

zrobiłem dziś sortowanie wyników z mysql

Proszę o ocenę i ewentualną korektę...

Kod
///////////////////////////////////////////////////////////////////
Połączenie z bazą
///////////////////////////////////////////////////////////////////

$query0 = "SELECT COUNT( * ) FROM tabela";

$result = mysql_query($query0) or die(mysql_error());
$row = mysql_fetch_array($result);
$CountRekord=$row["COUNT( * )"]; // Ilość wszystkich rekordów

if ($row["COUNT( * )"] > 10){ // Jeśli więcej niż 10 obiektów
    $ile = 10; // Ilość rekordów na stronie
    $stat= $CountRekord/$ile;
    $pages= ceil($stat); // Dopełnienie do liczby całkowitej np. 3,1 -> 4
    $page = addslashes($_GET['strona']);
    $page = trim($page);
    
    if(!empty($page)){    
        if($page+3 <= $pages){
            $blockLicz = $page +3;
            $LiczPage = $page-2;

            if($page ==2){
                $LiczPage =1;
                $blockLicz= $page +4;
            }            
        }
        elseif($page+2 <= $pages && empty($blockLicz)){
            $blockLicz = $pages;
            $LiczPage = $page-3;
        }
        elseif($page+1 <= $pages && empty($blockLicz)){
            $blockLicz = $pages;
            $LiczPage = $page -4;
        }
    }
    
    
    if($pages <= 5){ //Max 5 podstrony
        for($licz=1; $licz <= $pages; $licz++){
            if($page == $licz){ // Jeśli podstrona aktywna
                    echo '<a class="num_active" href="liczenie.php?strona='.$licz.'">'.$licz.'</a> ';
                }
                else{
                    echo '<a href="liczenie.php?strona='.$licz.'">'.$licz.'</a> ';
                }
        }
    }
    
    else{ //Jeśli więcej niż 5 podstrony
        if(empty($page) || $page == 1){ // Jeśli jest na pierwszej podstronie
            for($licz=1; $licz <= 5; $licz++){
                if($page == $licz){ // Jeśli podstrona aktywna
                    echo '<a class="num_active" href="liczenie.php?strona='.$licz.'">'.$licz.'</a> ';
                }
                else{
                    echo '<a href="liczenie.php?strona='.$licz.'">'.$licz.'</a> ';
                }
            }
            
            echo ' ... <a href="liczenie.php?strona='.$pages.'">[ostatnia strona]</a>'; //Ostatnia Strona
        }
        elseif($page != 1 && $page != $pages){
            echo '<a href="liczenie.php?strona=1">[pierwsza strona]</a> ... ';
            for($licz=$LiczPage; $licz < $blockLicz; $licz++){
                if($page == $licz){ // Jeśli podstrona aktywna
                    echo '<a class="num_active" href="liczenie.php?strona='.$licz.'">'.$licz.'</a> ';
                }
                else{
                    echo '<a href="liczenie.php?strona='.$licz.'">'.$licz.'</a> ';
                }
                
            }
            echo ' ... <a href="liczenie.php?strona='.$pages.'">[ostatnia strona]</a>'; // Ostatnia
        }
        else{
            echo '<a href="liczenie.php?strona=1">[pierwsza strona]</a> ... ';
            for($licz=$pages-5; $licz < $pages; $licz++){
                if($page == $licz){ // Jeśli podstrona aktywna
                    echo '<a class="num_active" href="liczenie.php?strona='.$licz.'">'.$licz.'</a> ';
                }
                else{
                    echo '<a href="liczenie.php?strona='.$licz.'">'.$licz.'</a> ';
                }
            }
        }
    }
}
sf
Zrób z tego klasę / funkcję. Rozdziel część odpowiedzialną za wyświetlanie od logiki.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.