Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [CSS][MySQL][PHP]System newsów problem.
stusu
post
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 17.04.2010

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


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. ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
Kshyhoo
post
Post #2





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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ć...
Go to the top of the page
+Quote Post
stusu
post
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 17.04.2010

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


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.
Go to the top of the page
+Quote Post
Kshyhoo
post
Post #4





Grupa: Opiekunowie
Postów: 3 855
Pomógł: 317
Dołączył: 4.01.2005
Skąd: że




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.

Ten post edytował Kshyhoo 1.05.2010, 20:52:20
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 03:52