Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Archiwum newsów na stronie
-Sunburn-
post 23.08.2007, 13:21:11
Post #1





Goście







Witam, mam taki oto skrypt:

  1. <?php
  2. $username="user";
  3. $password="pass";
  4. $db="db";
  5.  
  6. mysql_connect('host',$username,$password);
  7. mysql_select_db($db) or die("Nie odnaleziono bazy danych");
  8.  
  9.  
  10.  
  11. function pokaz_archiwum($i) 
  12. {
  13. $j = '2' * $i;
  14. $query = "SELECT id, nick, tresc FROM newsy ORDER by id DESC LIMIT $i,$j";
  15. $result = mysql_query($query) or die (mysql_error());
  16.  
  17. while($db = mysql_fetch_array($result)) {
  18. $nazwa = tnij(strip_tags($db[tresc]), 23);
  19. echo "<img src=\"gfx/strzalka.gif\" /> <a href=\"news,$db[id].html\"><strong>$tresc</strong></a><br />";
  20. }
  21.  
  22. }
  23.  
  24.  
  25. function tnij($tresc,$ile) {
  26.  
  27.  $licz = strlen($tresc);
  28.  if ($licz>=$ile)  {
  29.  $tnij = substr($tresc,0,$ile);
  30.  $txt = $tnij."..";
  31.  }
  32. else  {
  33.  $txt = $tresc;
  34. }
  35. return $txt;
  36. }
  37.  
  38.  
  39. ?>
  40.  
  41. <?php
  42. include "part1.php";
  43.  
  44.  
  45.  
  46. // ile pokazac
  47. pokaz_archiwum(10);
  48.  
  49. include "part2.php";
  50. ?>


News ma pokazywać ostatnie wpisy z bazy danych od najnowszego zaczynając. Niestety nie działa a jedyne co się pokazuje to dwa obrazki "strzalka.gif"

Z góry dzięki za pomoc

Pozdrawiam

Ten post edytował Sunburn 23.08.2007, 13:34:04
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
drPayton
post 23.08.2007, 14:52:03
Post #2





Grupa: Zarejestrowani
Postów: 890
Pomógł: 65
Dołączył: 13.11.2005
Skąd: Olsztyn

Ostrzeżenie: (0%)
-----


  1. <?php
  2. function pokaz_archiwum($i) 
  3. {
  4. $j = '2' * $i;
  5. $query = "SELECT id, nick, tresc FROM newsy ORDER by id DESC LIMIT $i,$j";
  6.  
  7. (...)
  8.  
  9. pokaz_archiwum(3);
  10.  
  11. (...)
  12. ?>

czyli:
$i (offset, od pierwszego powyżej tej wartości) = 3,
$j (liczba rekordów do pokazania)= 2*3 = 6
A więc każesz mu pokazać 6 rekordów poczynając od pierwszego powyżej trzeciego. A że masz tylko 4 w bazie, to w efekcie daje jeden...
Podpis w komentarzu nad wywołaniem funkcji // ile pokazac jest błędny

Ten post edytował drPayton 23.08.2007, 14:58:02
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 17:26