Tabela wyświetla po 10 rekordów na stronie, chciałem dodać funkcję sortującą w nazwie kolumny która będzie sortować po nazwie z kolumny. No ale niestety coś jest źle (nie mam pojęcia gdzie) bo mam same błędy. Bardzo proszę o pomoc.
<?
//sortowanie
$limit = 10;
$offset = isset($_GET['p']) ?
((int
) $_GET['p']) * $limit : 0; $allowedC = array('lokal', 'pietro', 'metraz'); $allowedD = array('asc', 'desc'); $orderBy = [url
="http://pl.php.net/in_array"]in_array[/url
]($_GET['orderBy'], $allowedC) ?
$_POST['orderBy'] : $allowedC[0
]; $dir = [url
="http://pl.php.net/in_array"]in_array[/url
]($_GET['dir'], $allowedD) ?
$_GET['dir'] : $allowedD[0
];
$sql = "SELECT * FROM plany_wiosenna ORDER BY $orderBy $dir LIMIT $offset, $limit;";
//A w zmiennej $nDir będziesz mial przeciwna wartosc dla $dir. Czyli jak w adresie masz asc to przyjmie ona desc i na odwrót
$nDir = $dir == 'asc' ? 'desc' : 'asc';
//Domyślne wartości, odpowiednio liczby rekordów na strone i przesunięcia
$count=10;
$offset=0;
//Pobranie danych z $_GET jezli ustawione
if(isset($_GET['count']))$count = $_GET['count']; if(isset($_GET['offset']))$offset = $count*$_GET['offset']; //numer strony
//Pobranie liczby rekordów
$sql = 'Select count(*) from plany_wiosenna';
//Liczba stron, użycie ceil - zaokrąglenie w górę, w celu zapewnienia, że żadna strona się nie straci
$pages = ceil($r[0
]/$count); //Pobranie odpowieniej paczki
$sql = 'Select * from plany_wiosenna Limit '.$count.' offset '.$offset.';';
?>
Przepraszam że w dwóch postach ale się nie zmieściło.
<?
//Początek tabeli
echo '<center><h2>Plany mieszkań osiedla Wiosenna</h2></center>'; echo '<table cellpadding=\"2\" border=1 align=center width=80% id=tabela>'; echo '<tr align=center>'; echo '<td class=komorka><a href="view.php?sortby=lokal&dir=<?php echo $nDir; ?>">Lokal</a></td>'; echo '<td class=komorka><a href="view.php?sortby=pietro&dir=<?php echo $nDir; ?>">Piętro</a></td>'; echo '<td class=komorka><a href="view.php?sortby=metraz&dir=<?php echo $nDir; ?>">Metraż [m<sup>2</sup>]</a></td>'; echo '<td class=komorka>Plan</td>'; echo '<td class=komorka>Plan PDF</td>'; //Pętla po wszystkich rekordach
while(($row=[url
="http://pl.php.net/mysql_fetch_array"]mysql_fetch_array[/url
]($result))!=NULL){ echo '<tr><td>'.$row['lokal'].'</td><td>'.$row['pietro']. '</td><td>'.$row['metraz'].'</td><td><a href=images/plany/'.$row['zdjecie'].'.jpg class=thickbox><img width=25 height=25 src=images/plany/'.$row['zdjecie'].'.jpg /></a></td><td><a href=images/plany/'.$row['pdf'].'.pdf >Pobierz</a></td></tr>'; }
//Pętla po stronach
echo '<p align=right style=margin-right:2cm;> Strona:'; for($i=0;$i<$pages;$i++){
//jeśli obecna strona, nie twórz linku do strony
if($i*$count==$offset){
}else{
echo '<a href="view.php?count='.$count.'&offset='.$i.'"> '.$i.' </a>'; }
}
?>
Ten post edytował e-konrad 18.02.2009, 13:38:58