Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Pobranie rekordów z 2 tabel...problem
Forum PHP.pl > Forum > Bazy danych
Joachim Peters
Witam,

Mam dwie tabele jedną news i drugą comments, narazie mam dwa zapytania:
  1. <?php
  2. $sql = "SELECT id, title, author, text, DATE_FORMAT(date, '%e-%m-%Y, %H:%i') AS date FROM " . NEWS_TABLE . " ORDER BY date DESC LIMIT $start, $naStronie";
  3. ?>


  1. <?php
  2. $sql2 = "SELECT id FROM php_comments WHERE news_id = " . $news['id'] . "";
  3. ?>


Z tabeli newsów pobierane jest wyznaczona ilość newsów, a z tabeli comments mają być pobierane dane ile razy został skomentowany ten news.
jak skleić te tabele?
Joachim Peters
Dzięki smile.gif
Zrobiłem tak:
  1. <?php
  2. $sql = "SELECT n.id, n.title, n.author, n.text, DATE_FORMAT(n.date, '%e-%m-%Y, %H:%i') AS date, COUNT(k.id) AS com_id FROM " . NEWS_TABLE . " n LEFT JOIN " . COMMENTS_TABLE . " k ON k.news_id = n.id ORDER BY n.date DESC LIMIT $start, $naStronie";
  3. ?>

ale wywala błąd
Warning: mysql_fetch_array(): supplied argument is not a valid MySQL...
nospor
po wykonaniu zapytania wyswietl blad:
  1. <?php
  2. mysql_query($sql) or die('zapytanie:'.$sql.';;;;;Blad:'.mysql_error());
  3. ?>

zakladam ze zadnych literowek nie popelniles
Joachim Peters
wyświetla tak:
  1. SELECT n.id, n.title, n.author, n.text, DATE_FORMAT(n.date, '%e-%m-%Y, %H:%i') AS date, COUNT(k.id) AS com_id FROM php_news n LEFT JOIN php_comments k ON k.news_id = n.id ORDER BY n.date DESC LIMIT 0, 10;;;;;Blad:Mixing of GROUP columns (MIN(),MAX(),COUNT(),...) with no GROUP columns is illegal if there is no GROUP BY clause
nospor
Jak glosi komunikat, zjadles group by.
Przejrzyj jeszcze raz linka co ci dalem wczesniej a zobaczysz ze tam jest group by winksmiley.jpg
Joachim Peters
Tak, tak...też się domyśliłem, dzięki za pomoc! tongue.gif
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.