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> ';
}
}
}
}
}
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> ';
}
}
}
}
}