Witam. Interesuje mnie, jak wykonać zapytanie i zdefiniować funkcje dziennego stronicowania bazy danych?
Przykład może być taki: http://algorytmy.pl/?id=2071
że tak zapytam - ke?
Jednym zapytaniem nie da się osiągnać takiego wyniku (z tymi etykietkami datowymi) co chyba jest oczywiste.
A bez tych etykietek to nie wystarczy zwykłe order by ?
No właśnie chodzi mi o pogrupowanie wyników na dni.:( Mógłbym mi ktoś to rozpisac co i jak trzeba??
o_O
select *
from Tabela
order by Tabela.dzien
?
Niestety nie śmiga. Podać kod do sprawdzenia??
Nie moze nie działać. Pokaż co niby napisałeś...
Co znaczy nie działa? Daje inny efekt niż oczekiwany? Nie uruchamia się?
define('ILOSC_WYNIKOW_NA_STRONIE', 30);
include('db_connect.php');
$SQL = "SELECT COUNT(*) FROM file WHERE cat='4'"; // Zapytanie liczące ilość wpisów w bazie
$RES = mysql_query($SQL);
list($iloscWpisow) = mysql_fetch_row($RES);
$SQL = "SELECT *
FROM file
WHERE cat='4'
ORDER BY id DESC
LIMIT ".mysql_escape_string((int)$_GET['strona']*ILOSC_WYNIKOW_NA_STRONIE).",".ILOSC_WYNIKOW_NA_STRONIE;
// pobiera ILOSC_NA_STRONIE rekordów z bazy, sortując wg daty rosnąco, zaczynając od $_GET['strona']*ILOSC_NA_STRONIE
$RES = mysql_query($SQL); // wykonujemy zapytanie
while($AFR_file = mysql_fetch_assoc($RES)){
/*Wyswietlanie wyników, przykładowo:*/
echo '<b><a href=file.php?plik='.$AFR_file['id'].'>['.$AFR_file['data'].'] '.$AFR_file['name'].'</a></b><br>';
echo 'Serwer: '.$AFR_file['licencja'].' | Pobran: '.$AFR_file['pobran'].' | '.$AFR_file['opis'].'<br /><br />';
}
echo '<hr><center>';
//Teraz wypadało by wyświetlić jakąś nawigację
//jesli nie jesteśmy na pierwszej stronie
if($_GET['strona']>0){
//wyswietlamy link do poprzedniej strony
echo '<a href="?strona='.($_GET['strona']-1).'">Poprzednie</a> ';
}
for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){
echo '<a href="?strona='.($i).'"><b>[ '.($i+1).' ]</b></a> ';
}
//jeśli nie jesteśmy na ostatniej stronie
if($_GET['strona']<floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE)){
//wyswietlamy link do nastepnej strony
echo ' <a href="?strona='.($_GET['strona']+1).'">Następne</a></center>';
}
Efekt jest tutaj: http://www.djgarsi.pl/stronicowanie.php
może jeszcze raz i pomału - co chcesz uzyskać, czytaj ile stron by miało być, co na danej stronie
Więc tak. To stronicowanie (paginacja) zostaje. Dodatkowo te wyniki które są już postronicowane chciałbym po grupować na dni. Przykład http://www.technorocker.info/tracks/NewTraxx/.
No proszę o pomoc.:(
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.