Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Trudności z zapytanie
deha21
post
Post #1





Grupa: Zarejestrowani
Postów: 544
Pomógł: 5
Dołączył: 18.08.2009

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


Potrzebuje zarobić zapytanie, który wyciągnie mi z bazy TITLE oraz VIEWS z tabeli NEWS, ale posortowane wg ilości komentarzy. Mam do tego dwie tabele: NEWS i KOMENTARZE.
z NEWS potrzebuję wyciągnąć TITLE i VIEWS
z KOMENTARZE pogrupować komentarze wg pola NEWS_ID
Chce żeby mi wyświetliło 500 newsów, w których było najwięcej komentarzy oraz ilość wyświetleń tych newsów.

Próbowałem z czymś takim ale za cholerę nie wiem jak to zrobić - nie jestem dobry w skomplikowanych zapytaniach.
  1. $result=mysql_query("SELECT id, news FROM komentarze GROUP BY news ORDER BY SUM(news) LIMIT 500");
  2. while ($row=mysql_fetch_array($result)) {
  3. $ask=mysql_query("SELECT title, views FROM news WHERE id='".$row['news']."'");
  4. $askrow=mysql_fetch_assoc($ask);
  5. echo $askrow['title'],' - ',$askrow['views'],'<br>';
  6. }
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
mortus
post
Post #2





Grupa: Zarejestrowani
Postów: 2 178
Pomógł: 596
Dołączył: 25.09.2009
Skąd: Piwniczna-Zdrój

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


No tak popełniłem literówkę wcześniej (już poprawiłem) i zamiast COUNT napisałem COUTN. Skrypt:
  1. $sql = "SELECT `n`.`title`,`n`.`views`, COUNT(`k`.`id`) AS `liczba_komentarzy` FROM `news` `n` LEFT JOIN `komentarze` `k` ON `n`.`id` = `k`.`news_id` GROUP BY `n`.`id` ORDER BY `liczba_komentarzy` DESC LIMIT 500";
  2. $results = mysql_query($sql);
  3. while($row = mysql_fetch_assoc($results)) {
  4. echo $row['title'] . ' - ' . $row['views'] . '<br/>';
  5. }


Ten post edytował mortus 18.04.2012, 20:09:10
Go to the top of the page
+Quote Post

Posty w temacie


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: 27.12.2025 - 08:56