bober
19.03.2004, 19:11:14
Chciałbym trochę ulżyć MySQLowi i zgrupować zapytania łącząc wyniki z paru tabeli naraz. Z prostym łączeniem nie mam problemu ale chciałbym np. dodać do wyniku wartość zwracaną przez COUNT() w zapytaniu. Wiem, że przy standartowym łączeniu MySQL poprostu tworzy jedną tabelę i zwraca ją w wyniku. Czy jest możliwość żeby zwracał taką tabelę + wartość COUNT() ? I jak się później do niej zwracać po uzyciu np. mysql_fetch_object() na wyniku?
dzięki
spenalzo
19.03.2004, 19:50:11
Oczywiście, że możesz:
[sql:1:a79fc6da35]SELECT *, COUNT(id) FROM tabela WHERE .... GROUP BY id[/sql:1:a79fc6da35]
tylko, że musisz użyć group by.
DeyV
19.03.2004, 22:01:35
temat przeniesiony.
Dzięki - spenalzo
bober
21.03.2004, 11:32:12
no już mniej więcej łapie o co chodzi ale nadal mam problem...
bo jeżeli użyje group by na jakiejś kolumnie z drugiej tabeli to przy przetwarzaniu wyniku jak będę miał rekord w obiekcie to podając nazwę kolumny zwróci mi jej prawdziwą wartość a nie COUNT.
i jeszcze jedno, jak zaznaczyć aby policzył mi ilość rekordów ( COUNT(*) ) w danej tabeli a nie sumę z wybranej kolumny ?
JOHNY
24.03.2004, 21:14:29
No ja zliczam sobie cala tabele tak
config.php
[php:1:e51f4426ea]<?php
$url = "localhost"; //adres bazy danych
$login = ""; //nazwa użytkownika bazy danych
$haslo = ""; //hasło użytkownika bazy danych
$dbname = ""; //nazwa bazy danych
mysql_connect($url,$login,$haslo);
mysql_select_db($dbname);
?>[/php:1:e51f4426ea]
plik.php
[php:1:e51f4426ea]<?php
require "config.php";
list($ile)=mysql_fetch_row(mysql_db_query($dbname, "SELECT count(*) FROM nazwa_tabeli"));
?>[/php:1:e51f4426ea]
Potem tylko wywołanie
[php:1:e51f4426ea]<?php
echo "$ile";
?>[/php:1:e51f4426ea]
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.