Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php][mysql] odczytywanie z tabeli
Forum PHP.pl > Forum > Przedszkole
sztibiribi
witam, jestem tu nowy i prosze o wyrozumialosc:) szukalem na forum, ale jakos mi nie wyszlo ..
mam taki oto problem

  1. $wynik2 = mysql_query("SELECT * FROM aktualnosci ORDER BY id DESC") or die('Błąd zapytania');
  2. if(mysql_num_rows($wynik2) > 0) {
  3. while($r = mysql_fetch_assoc($wynik2)) {
  4. echo "<tr><td colspan=\"3\"><div id=\"dataakt\">".$r['data']."</div></td></tr>";
  5. echo "<tr><td width=\"23px\" align=\"left\" border=\"0\">&emsp;</td>
  6. <td width=\"700px\" align=\"left\" border=\"0\" ><div id=\"tekstakt\">".$r['tekst']."</div><br></td></tr>";
  7. }}


kod odczytuje z tabeli dane i wyswietla na stronie wszystkie od najmlodszego rekordu do najstarszego smile.gif .. potrzebuje zrobic tak, aby pomijal zawsze na przyklad 3 pierwsze (najmloodsze) rekordy .. czyli wyswietlal nie od ostatnio dodanego rekordu a tego dodanego 3 rekordy wczesniej smile.gif pozdrawiam, i z gory dzieki za pomoc
f1xer
Mniej więcej tak:

  1. ELECT * FROM aktualnosci ORDER BY id DESC LIMIT 3,3923912


już tłumaczę

LIMIT określa ci zakres rekordów które chcesz pobrać z bazy, pierwszy parametr to pozycja pierwszego rekordu, który chcesz pobrać (liczone od zera czyli w przykładzie pobierasz od 4 rekordu pomijając 3 pierwsze) drugi parametr to OFFSET czyli ile rekordów chcesz pobrać. OFFSET powinien być możliwie jak największą liczbą no chyba że chcesz pobrać tylko 10 rekordów to wstawiasz dziesięć.
sztibiribi
dzieki, dziala smile.gif! pomogles i wytlumaczyles:)

EDIT://

ok to jeszcze raz ja.. a jak zrobic to samo w tym .. caly dzien sie nad tym meczylem i pol nocy.. i lipa sad.gif
skrypt sluzy do stronicowania wynikow gdzie $newsywarchnastr to ilosc wyswietlanych rekordow na stronie winksmiley.jpg
chodzi o to zeby w tym skrypcie tez byly pomijane 3 pierwsze rekordy ..
  1. define('ILOSC_WYNIKOW_NA_STRONIE', $newsywarchnastr);
  2. $SQL = "SELECT SQL_CALC_FOUND_ROWS * FROM aktualnosci ORDER BY id DESC LIMIT ".mysql_escape_string((int)$_GET['pozycja']*ILOSC_WYNIKOW_NA_STRONIE).",".ILOSC_WYNIKOW_NA_STRONIE;
  3. $RES = mysql_query($SQL);
  4. while($AFR = mysql_fetch_assoc($RES)){
  5. echo "<tr><td colspan=\"3\"><div id=\"dataakt\">".$AFR['data']."</div></td></tr>";
  6. echo "<tr><td width=\"23px\" align=\"left\" border=\"0\">&emsp;</td>
  7. <td width=\"700px\" align=\"left\" border=\"0\" ><div id=\"tekstakt\">".$AFR['tekst']."</div><br></td></tr>";
  8. }
  9. echo '<tr><td colspan="3"><center>';
  10. $SQL = "SELECT FOUND_ROWS() as Ilosc";
  11. $RES= mysql_query($SQL);
  12. list($iloscWpisow) = mysql_fetch_row($RES);
  13. if($_GET['pozycja']>0){
  14. echo '<a href="?pozycja='.($_GET['pozycja']-1).'" class="aktualnosci">poprzednie</a> ';
  15. }
  16. for($i = 0;$i<=floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE);$i++){
  17. echo '<a href="?pozycja='.($i).'" class="aktualnosci">[ '.($i+1).' ]</a> ';
  18. }
  19. if($_GET['pozycja']<floor($iloscWpisow/ILOSC_WYNIKOW_NA_STRONIE)){
  20. echo ' <a href="?pozycja='.($_GET['pozycja']+1).'" class="aktualnosci">następne</a>';
  21. }
  22. echo '</center></td></tr>';

z gory dzieki, i zycze milej nocy smile.gif
enemyofarcha
Cytat(sztibiribi @ 26.08.2009, 02:57:06 ) *
$SQL = "SELECT SQL_CALC_FOUND_ROWS * FROM aktualnosci ORDER BY id DESC LIMIT


O ile się nie mylę to tutaj tak samo musisz wpisać limit i OFFSET, z przykładem w poprzednim poście..

$SQL = "SELECT SQL_CALC_FOUND_ROWS * FROM aktualnosci ORDER BY id DESC LIMIT 3,3923912


ale mogę się niestety mylić
Fafu
  1. if(!isset($_GET['pozycja'])) $_GET['pozycja'] = 3;
powinno zadzialac tongue.gif
sztibiribi
odpowiedz pierwsza nie na pewno, sprawdzalem juz wczesniej nawet, pozatym to nie spelnia swoje roli
odpowiedz druga .. gdzie to niby wsadzic? bo mi wyszlo cos nie tak.. gdy jestem na stronie pierwszej, pokazuje mi ze jestem na stronie 3, a gdy na 3 , to ze niby na pierwszej ;P

odswiezam smile.gif
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.