Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyswietlenie notek i ilosci komentarzy
hmmm
post
Post #1





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


mecze sie juz z tym dosc sporo i nie potrafie sobie poradzic.
otoz mam dwie tabele:
notki (id, kategoria, tytul, tresc, czas) i
komentarze (id, id_notki, nick, email, tresc, czas).

w tabeli notki kolumna kategoria przyjmuje dwie wartosci: 1 lub 2, gdzie 1 oznacza, ze jest to news, a 2 - notka do bloga.

chcialbym zrobic zapytanie, ktore wyswietli mi z
tabeli notki: tytul, nick, email, tresc, czas,
natomiast z tabeli komentarze zliczy mi ilosc komentarzy dla danego wpisu do bloga (czyli z pominieciem kategoria=1).

da sie to zrobic jednym zapytaniem?
jezeli tak, to prosze o pomoc.

bo dwoma zapytaniami dam rade, ale wtedy jedno umieszczam w drugim.
probowalem z left join, ale nie wychodzi ...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
Ociu
post
Post #2





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Mozna by to zrobić za pomocą mysql_num_rows();
  1. <?php
  2. $sql = mysql_query(&#092;"SELECT * FROM tabela ORDER BY `id`\") or die (mysql_error());
  3. while($r = mysql_fetch_array($sql))
  4.  {
  5. # tu sie wyswietla
  6. $query = mysql_query(&#092;"SELECT * FROM costam WHERE id_notki='\".$r['id'].\"'\") or die (mysql_error());
  7. $row = mysql_num_rows($sql);
  8. print 'komentarzy: '.$row;
  9.  }
  10. ?>

lub:
  1. SELECT COUNT(id)
  2. FROM costam WHERE id_notki='".$r['id'].""


Ten post edytował Ociu 19.03.2005, 16:25:32
Go to the top of the page
+Quote Post
hmmm
post
Post #3





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


aha, czyli w ten sam sposob co ja to robilem wczesniej - zapytanie w petli bedacej wynikiem poprzedniego zapytania ...

a nie da sie jakos inaczej? za pomoca jednego?

no ale dzieki
Go to the top of the page
+Quote Post
Ociu
post
Post #4





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




Raczej nie.
Go to the top of the page
+Quote Post
hmmm
post
Post #5





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


hmmm, to moze ... zliczys ilosc komentarzy dla kazdej kategorii dla kazdego id.
potem w petli while bym sprawdzal, czy kategoria jest rowna 2 i jezeli tak, wowczas wyswietlal ilosc komentarzy.
ale stworzyc jedno zapytanie?
bo przeciez jezeli ma zliczac komentarzy dla kategorii 1, to wynik zliczania powinien byc rowny 0. wiec chyba problem tkwi w samym zapytaniu, no ale nie umiem sobie z nim poradzic .. (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
Go to the top of the page
+Quote Post
Ociu
post
Post #6





Grupa: Moderatorzy
Postów: 1 566
Pomógł: 37
Dołączył: 14.05.2003
Skąd: Kraków




No ale jeśli będziesz sprawdzał w pętli wtedy skrypt będzie wolny, bo sprawdzi tyle pozycji, ile masz rekordów w tabeli.

Jeżeli masz problemy z zapytaniami, to pisz na forum, przecież po to istnieje.
Go to the top of the page
+Quote Post
Skobi
post
Post #7





Grupa: Zarejestrowani
Postów: 174
Pomógł: 1
Dołączył: 19.02.2004

Ostrzeżenie: (10%)
X----


a w ten sposób:

  1. SELECT
  2. n.tytul, n.tresc, n.czas, count(k.id_notki)
  3. FROM notki n
  4. LEFT OUTER JOIN komentarze k ON n.id=k.id_notki
  5. WHERE n.kategoria=2
  6. GROUP BY n.id
Go to the top of the page
+Quote Post
hmmm
post
Post #8





Grupa: Zarejestrowani
Postów: 247
Pomógł: 0
Dołączył: 4.01.2005

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


heh, zapytanie dziala poprawnie, dzieki, ale ... nie o to mi chodzi (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif)
nie wiem, czy to jest mozliwe osiagniecie czegos takiego, ale postaram sie dokladnie wytlumaczyc o co chodzi.

to ma byc system newsow i notek z bloga.
wszystko ma byc razem wyswietlane - kolumny: tytul, czas, tresc.
przy czym dodatkowo, jezeli jest to notka z bloga (kategoria=2) ma pojawiac sie dodatkowa linia wyswietlajaca ilosc komentarzy.

do tej pory robilem do dwoma zapytaniami umieszczajac drugie w petli while pierwszego.

rozwiazanie @skobiego zwraca mi tylko notki z bloga (kategoria=2) ... (IMG:http://forum.php.pl/style_emoticons/default/sadsmiley02.gif)
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: 15.09.2025 - 08:43