Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> SUM dla COUNT z wielu TABEL
graczu
post 13.03.2008, 14:31:53
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 10.02.2006

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


Znalazłem tutaj na Forum przykład pobierania Ilości Wpisów z Dwóch Tabeli, stworzyłem na instrukcję tego:

  1. SELECT sum(ilosc) FROM (SELECT count(" . TB_USER_PAGE . ".id_page) AS ilosc FROM " . TB_USER_PAGE . " WHERE " . TB_USER_PAGE . ".id_user = '" . $id_user . "' UNION SELECT count(" . TB_SYS_PAGES . ".id_page) AS ilosc FROM " . TB_SYS_PAGES . " WHERE " . TB_SYS_PAGES . ".id_user = '" . $id_user . "') AS wynik


oraz zapytanie wykonane bez pierdołek:

  1. SELECT sum(ilosc) FROM (SELECT count(tabela_user_page.id_page) AS ilosc FROM tabela_user_page WHERE tabela_user_page.id_user = '1' UNION SELECT count(tabela_system_pages.id_page) AS ilosc FROM tabela_system_pages WHERE tabela_system_pages.id_user = '1') AS wynik


TB_SYS_PAGES oraz TB_USER_PAGE to nazwy Tabeli zawarte w DEFINE

Chcę pobrać ilość wpisów dodanych stron przez użytkownika o ID x z Dwóch Tabel.

Tabele wyglądają tak:

  1. CREATE TABLE `tabela_system_pages` (
  2. `id_page` int(12) NOT NULL AUTO_INCREMENT,
  3. `id_user` int(12) NOT NULL DEFAULT '0',
  4. `is_start` enum('true','false') collate utf8_bin NOT NULL DEFAULT 'false',
  5. `page_name` varchar(220) collate utf8_bin DEFAULT NULL,
  6. `page_text` text DEFAULT NULL,
  7. `creatdate_rok` int(12) NOT NULL DEFAULT '0',
  8. `creatdate_miesiac` int(12) NOT NULL DEFAULT '0',
  9. `creatdate_dzien` int(12) NOT NULL DEFAULT '0',
  10. `creatdate_czas` varchar(12) collate utf8_bin NOT NULL DEFAULT '',
  11. PRIMARY KEY (`id_page`)
  12. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;


  1. CREATE TABLE `tabela_user_page` (
  2. `id_page` int(22) NOT NULL AUTO_INCREMENT,
  3. `id_user` int(12) NOT NULL DEFAULT '0',
  4. `page_name` varchar(220) collate utf8_bin DEFAULT NULL,
  5. `page_views` int(12) NOT NULL DEFAULT '0',
  6. `page_text` text DEFAULT NULL,
  7. `creatdate_rok` int(12) NOT NULL DEFAULT '0',
  8. `creatdate_miesiac` int(12) NOT NULL DEFAULT '0',
  9. `creatdate_dzien` int(12) NOT NULL DEFAULT '0',
  10. `creatdate_czas` varchar(12) collate utf8_bin NOT NULL DEFAULT '',
  11. PRIMARY KEY (`id_page`)
  12. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;


Wynik 'wynik' pobieram poprzez mysql_fetch_array i nie zwraca on nic (ani zero ani nic, pusty jest) sad.gif a kod sql sie wykonuje.
Wpisów mam 4 w tabeli TB_SYS_PAGES oraz 0 w drugiej.

Przez count(mysql_fetch_array()); zwraca dwa są cztery.
mysql_num_rows zwraca jeden bo zapytanie się wykonało.

Znalazłem przykład tutaj: http://forum.php.pl/lofiversion/index.php/t57499.html

Ten post edytował graczu 13.03.2008, 14:50:22
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: 19.07.2025 - 02:40