Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][MySQL][PHP]System newsów problem.
Forum PHP.pl > Forum > Przedszkole
stusu
Napisałem skrypt wyświetlający newsy z bazy... skrypt działa, ale chciałbym go przerobić tak żeby do każdego newsa tworzył div'a (który jest sformatowany w css), a nie bardzo wiem jak to zrobić. Proszę o pomoc.

  1. <?
  2. @$db = mysql_pconnect("mysql.cba.pl", "****", "****");
  3. if (!$db)
  4. {
  5. echo("Wystapil blad w polaczeniu");
  6. }
  7.  
  8. mysql_select_db("****_cba_pl");
  9.  
  10. $query = "select * from newsy order by id desc"; //zapytanie o wycišgniecie wszystkich newsów od najnowszych
  11. $result = mysql_query($query);
  12. $num_results = mysql_num_rows($result);
  13. $id = $num_results+1;
  14. for($i=0; $i<$num_results; $i++)
  15. { /* tworzenie pętli - jezeli $i osiagnie liczbe taka ile wynikow zostalo wyciagnietych z bazy to pętla sie konczy */
  16. $row = mysql_fetch_array($result);
  17. print "Tytuł:";
  18. print stripslashes($row["tittle"]); //pobieranie tytulu i usuwanie niebezpiecznych znakow
  19. print "<br>";
  20. print stripslashes($row["tresc"]); //pobieranie kolumny "tresc" i usuwanie niebezpiecznych znakow
  21. print "<br>";
  22. }
  23. ?>
Kshyhoo
To proste, w miejscu, gdzie wyświetlasz newsa, formatujesz w html:
  1. print "<div>";
  2. print "Tytuł:";
  3. print stripslashes($row["tittle"]); //pobieranie tytulu i usuwanie niebezpiecznych znakow
  4. print "<br>";
  5. print stripslashes($row["tresc"]); //pobieranie kolumny "tresc" i usuwanie niebezpiecznych znakow
  6. print "</div>";

Oczywiście najlepiej ostylować...
stusu
Ok działa... ale tylko do momentu w którym nie próbuje wstawić diva w divie:
  1. $row = mysql_fetch_array($result);
  2. print "<div id=NEWS>"
  3. print "<div id=NEWS_TITLE>";
  4. print "Tytuł:";
  5. print stripslashes($row["tittle"]); //pobieranie tytulu i usuwanie niebezpiecznych znakow
  6. print "</div>";
  7. print "<div id=NEWS_DATA>";
  8. print "Autor:";
  9. print stripslashes($row["author"]); //pobieranie kolumny "tresc" i usuwanie niebezpiecznych znakow
  10. print "</div>";
  11. print "</div>";
  12. print "<div id=NEWS_TRESC>";
  13. print stripslashes($row["tresc"]); //pobieranie kolumny "tresc" i usuwanie niebezpiecznych znakow
  14. print "</div>";


Wyświetla mi błąd: Parse error: syntax error, unexpected T_PRINT in /var/www/virtual/xxx.cba.pl/xxx.php on line 83
linia 83 to:
  1. print "<div id=NEWS_TITLE>";



Ok poradziłem sobie z tym... ale chciałbym prosić o pomoc w innej sprawie... Ten skrypt wyświetla wszystkie newsy na 1 stronie... a chciałbym zrobić tak żeby wyświetlał np 5 newsów i gdy w bazie będzie ich 6 będzie tworzył dodatkową podstronę w której będzie kolejne 5 newsów.
Kshyhoo
1. Błędem jest ładowanie wszystkiego w DIVy. Możesz przecież użyć do tytułu innego formatowania, jak "h", "p" lub "span".
2. Musisz użyć czegoś, co nazywa się porcjowaniem, czyli paginacją lub stronicowaniem. Zapytanie będzie wyglądało mniej-więcej tak:
  1. SELECT * FROM news LIMIT $start, $na_strone

Czyli np. zaczynasz od newsa ID=10 i ładujesz 10 na stronę... Jest sporo informacji na ten temat, więc na pewno sobie poradzisz.

EDIT: literówki.
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.