Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Komentarze do newsów, Podczepienie komentarzy pod newsy
-Gość_Dominik-
post 16.04.2006, 18:22:45
Post #1





Goście







Witam
Mam taki problem:
Zrobiłem sobie system newsów lecz zapomniałem o komentarzach. Nie wiem jak je wstawić tak aby pod każdym newsem mogły znaleść się komentarze a także można było zliczyć ile jest komentarzy do danego newsa.
Go to the top of the page
+Quote Post
vieri_pl
post 16.04.2006, 18:39:15
Post #2





Grupa: Zarejestrowani
Postów: 406
Pomógł: 9
Dołączył: 24.07.2005
Skąd: Bydgoszcz

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


newsy masz w mysql czy na plikach tekstowych ?
Go to the top of the page
+Quote Post
-Guest-
post 16.04.2006, 18:47:18
Post #3





Goście







W mysql. Tabela nazywa się news a w niej są pola ID(klucz podstawowy), tytul,tresc,autor,data.
Go to the top of the page
+Quote Post
pEbE
post 16.04.2006, 18:58:23
Post #4





Grupa: Zarejestrowani
Postów: 106
Pomógł: 3
Dołączył: 21.03.2006
Skąd: Sosnowiec

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


robisz nowa tabele dla komentow i edytujesz plik z newsami, to 5 minut roboty z php
Go to the top of the page
+Quote Post
piotrekkr
post 16.04.2006, 19:27:11
Post #5





Grupa: Zarejestrowani
Postów: 386
Pomógł: 25
Dołączył: 28.09.2005

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


robisz tabele np
  1. CREATE TABLE `News_Komentarze` (`KomentarzId` INTEGER UNSIGNED NOT NULL AUTO_INCREMENT PRIMARY KEY, `NewsId` INTEGER UNSIGNED NOT NULL, `Tytul` VARCHAR(100), `Tresc ` TEXT NOT NULL,`Podpis` VARCHAR(50) NOT NULL, `Data` DATETIME NOT NULL);


zeby zliczyc komentarze do newsa uzywasz zapytania

  1. SELECT COUNT(*)
  2. FROM `News_Komentarze`
  3. WHERE `NewsId`='numer_newsa';


no i do dodawania robisz poprostu formularz dodawania newsa i odpowiednim zapytaniam umieszczasz dane w bazie podobnie z wyswietlaniem. To nie jest jakies bardzo trudne smile.gif
Go to the top of the page
+Quote Post
Lee
post 16.04.2006, 19:51:51
Post #6





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


co wy się przy tym swoim zapytaniu upraliście, mnie gó**o ono dało (bo nie zrozumiałem, więc On też może nie załapać o co koman), zrobiłem poprostu tak:
Oczywiście to zadziała, jak się korzysta z foreach() winksmiley.jpg
  1. <?php
  2.  
  3.  
  4. // Pobiera dane z tabeli z newsami i robi z tego tablice
  5. $wykonaj = mysql_query("SELECT * FROM news WHERE id ORDER by id DESC");
  6.  while ($wynik = mysql_fetch_assoc($wykonaj)){
  7. $aNewsList[] = $wynik;
  8.  }
  9.  
  10. // Tego jeszcze nie rozkiminłem dlaczego tak musi być, ale tak musi być :]
  11. foreach($aNewsList as $aNews){
  12.  
  13. // w zapytaniu nie mozna walnąć tego drugiego więc przypisuje do zmiennej
  14. $id = $aNews['id'];
  15. $wykonaj = mysql_query("SELECT nid FROM comments WHERE nid=$id"); // nid to tabela odpowiadająca id do którego jest news
  16. $ile_kom = mysql_num_rows($wykonaj); // zmienna, która wyświetla ile jest komentów do danego newsa
  17.  
  18. echo '$ile_kom'; // To wyświetli Ci ile komentarzy, poprostu walniesz se to do tabelki z newsem i g
    itara ;)
  19. }
  20.  
  21. // P.S:
  22. wewnętrz foreach jeżeli chcesz wywołać tytuł newsa do dajesz $aNews['nazwa_kolumny_z_tytulami_newsów'] itd.
  23.  
  24. ?>


oczywiście jak jest się szczypiorkiem to niekoniecznie się zrozumie 8)

Ten post edytował Lee 16.04.2006, 19:53:50


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
LBO
post 16.04.2006, 20:19:21
Post #7





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


przy zliczaniu ilosci komentarzy, posluchaj porady ~piotrekkr'a

Kod
SELECT nid
FROM comments
WHERE nid=$id

zwroci ci wszystkie nid... po co? potem uzywasz mysql_num_rows()" title="Zobacz w manualu php" target="_manual... jak dla mnie strata czasu (wiem, wiem, ze to mikrosekundy, ale najlepiej nawyki wyrabiac za wczasu), skoro zapytanie
Kod
SELECT COUNT(*)
FROM comments
WHERE nid='$id'

zwroci Tobie od razu to czego szukasz (liczbe komentarzy dla danego newsa
Go to the top of the page
+Quote Post
Lee
post 16.04.2006, 20:32:55
Post #8





Grupa: Zarejestrowani
Postów: 319
Pomógł: 0
Dołączył: 11.04.2006
Skąd: Chojnów

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


Może wytłumaczcie mu jak to ma wygladac w kodzie php, bo raczje samo zapytanie mu za wiele nie powie...


--------------------
Nie pomagam w sprawach php na GG i PW od tego jest forum!
Go to the top of the page
+Quote Post
LBO
post 16.04.2006, 20:56:18
Post #9





Grupa: Zarejestrowani
Postów: 1 415
Pomógł: 117
Dołączył: 7.09.2005
Skąd: Warszawa

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


  1. <?php
  2.  
  3. $id = $aNews['id'];
  4. $wykonaj = mysql_query("SELECT nid FROM comments WHERE nid=$id");
  5. $ile_kom = mysql_fetch_row($wykonaj);
  6. print($ile_kom[0]);
  7.  
  8. ?>


i jeszcze jedno
  1. <?php
  2.  
  3. echo '$ile_kom';
  4.  
  5. ?>

wyswietliło by ci string $ile_kom a nie wartość zmiennej...
Go to the top of the page
+Quote Post
-Gość_Dominik-
post 17.04.2006, 17:52:36
Post #10





Goście







Okej dzięki serdeczne już zrozumiałem.
Go to the top of the page
+Quote Post

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 - 03:23