Znalazłem tutaj na Forum przykład pobierania Ilości Wpisów z Dwóch Tabeli, stworzyłem na instrukcję tego:
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:
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:
CREATE TABLE `tabela_system_pages` (
`id_page` int(12) NOT NULL AUTO_INCREMENT,
`id_user` int(12) NOT NULL DEFAULT '0',
`is_start` enum('true','false') collate utf8_bin NOT NULL DEFAULT 'false',
`page_name` varchar(220) collate utf8_bin DEFAULT NULL,
`page_text` text DEFAULT NULL,
`creatdate_rok` int(12) NOT NULL DEFAULT '0',
`creatdate_miesiac` int(12) NOT NULL DEFAULT '0',
`creatdate_dzien` int(12) NOT NULL DEFAULT '0',
`creatdate_czas` varchar(12) collate utf8_bin NOT NULL DEFAULT '',
PRIMARY KEY (`id_page`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE=utf8_bin;
CREATE TABLE `tabela_user_page` (
`id_page` int(22) NOT NULL AUTO_INCREMENT,
`id_user` int(12) NOT NULL DEFAULT '0',
`page_name` varchar(220) collate utf8_bin DEFAULT NULL,
`page_views` int(12) NOT NULL DEFAULT '0',
`page_text` text DEFAULT NULL,
`creatdate_rok` int(12) NOT NULL DEFAULT '0',
`creatdate_miesiac` int(12) NOT NULL DEFAULT '0',
`creatdate_dzien` int(12) NOT NULL DEFAULT '0',
`creatdate_czas` varchar(12) collate utf8_bin NOT NULL DEFAULT '',
PRIMARY KEY (`id_page`)
) 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)

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