Autor | Zpráva | ||
---|---|---|---|
Kouda Profil * |
#1 · Zasláno: 15. 12. 2004, 01:56:30
Zdravim. Mam problém s tabulkou, obsahuje 10 sloupců, ve všech jsou čísla. Chtel bych ty sloupce zobrazit a na konec zobrazit součet každého sloupce. Sloupce se zobrazí, ale součet ne. Díky.
|
||
llook Profil |
#2 · Zasláno: 15. 12. 2004, 05:07:45
Snad by mohlo fungovat něco takového:
$result = mysql_query('SELECT s1, s2, s3, (s1+s2+s3) AS soucet FROM tabulka;'); |
||
Kouda Profil * |
#3 · Zasláno: 17. 12. 2004, 11:30:15
Díky. Tohle sečte hodnoty v s1 - s3, ale ne každý sloupec zvlášť.
Zkoušel jsem: $sql = 'SELECT SUM(celkem) FROM tabulka '; ale také se součet nezobrazí, ani když za SELECT přidam *, nebo název sloupce. |
||
Hugo Profil |
#4 · Zasláno: 17. 12. 2004, 11:41:20
Tak to secti pomoci php.
|
||
Kouda Profil * |
#5 · Zasláno: 17. 12. 2004, 11:44:00
Hezký, ale jak???
|
||
Hugo Profil |
#6 · Zasláno: 17. 12. 2004, 12:11:05 · Upravil/a: Hugo
Nacti radky do pole a pomoci array_sum($array_col1) udelej soucet pro kazdy sloupec
|
||
Honza Hučín Profil |
#7 · Zasláno: 17. 12. 2004, 12:17:08
Řešením je sjednocovací dotaz:
SELECT s1, s2, s3 FROM tabulka UNION SELECT sum(s1), sum(s2), sum(s3) FROM tabulka; |
||
Kouda Profil * |
#8 · Zasláno: 17. 12. 2004, 13:51:38
Tak nic. Zadal jsem
$sql = 'SELECT s1,s2,s3 FROM tabulka UNION SELECT SUM(s1),SUM(s2) , SUM(s3) FROM tabulka'; a ani nenačte data z tabulky. Nechybí tam něco? |
||
Honza Hučín Profil |
#9 · Zasláno: 17. 12. 2004, 13:59:43
A máš správně název té tabulky? ;-) Místo tabulka tam musí být skutečný název použité tabulky. Mně to funguje.
|
||
Kouda Profil * |
#10 · Zasláno: 17. 12. 2004, 14:12:53
Název souhlasí, pod tím řádkem mam dál už jenom kontrolu.
$id_vysledku = mysql_query($sql,$id_spojeni); if (!$id_vysledku) die('Nepodařilo se nám načíst řádky z databáze.'); Zkusim celou databázi znovu, aspoň si to osvěžim. |
||
Leo Profil |
#11 · Zasláno: 17. 12. 2004, 16:48:32
"a ani nenačte data z tabulky. Nechybí tam něco?"
A jakou to hlasi mysql chybu, pripadne jakou mate verzi MySQL? Leo |
||
magnum Profil * |
#12 · Zasláno: 17. 12. 2004, 20:13:36
preco to komplikujete
$result = mysql_query('SELECT s1, s2, s3, SUM(s1) AS soucet1, SUM(s2) AS soucet2, SUM(s3) AS soucet3 FROM tabulka'); a nezabudni zrusit tu bodkociarku zo selectu v php sa nedava ! ... teraz sa na to divam ... ak to takto nepojde tak to rozhod do dvoch selectov a hotovo ... v jednom nechaj s1,s2,s3 a do druheho daj tie SUM(s1)... |
||
Honza Hučín Profil |
#13 · Zasláno: 17. 12. 2004, 22:14:20
magnum
Obávám se, že to takto skutečně nepůjde. Kouda Tak zkus každý select odděleně. UNION by to měl spolehlivě spojit, pokud je stejný počet sloupců. |
||
Leo Profil |
#14 · Zasláno: 18. 12. 2004, 00:04:38
Mam pocit, ze UNION nefunguje v trojkovych verzich MySQL, Leo
|
||
Časová prodleva: 2 měsíce
|
|||
Anonymní Profil * |
#15 · Zasláno: 2. 3. 2005, 12:05:20
Řešením je sjednocovací dotaz:
SELECT s1, s2, s3 FROM tabulka UNION SELECT sum(s1), sum(s2), sum(s3) FROM tabulka; Jeste bych se zeptal, co mam delat pokud potrebuju vybrat jen nektere radky?: $vysledek = ('SELECT * FROM tabulka WHERE fmonth=$montselect AND fyear=$yearselect UNION SELECT SUM(platby) FROM tabulka WHERE fmonth=$montselect AND fyear=$yearselect'); takhle to nefunguje :o( selecty jsou dobre. |
||
Berkoff Profil |
#16 · Zasláno: 2. 3. 2005, 12:54:50
Omlouvam se za Anonymni prispevek
|
||
Honza Hučín Profil |
#17 · Zasláno: 2. 3. 2005, 13:20:43
Co znamená, že nefunguje? Dává nesmyslný výsledek nebo hlásí chybu?
Podle mě musí mít oba dotazy, které chceš sjednotit, stejné vypisované sloupce. Takže zkus místo hvězdičky dát platby. |
||
Berkoff Profil |
#18 · Zasláno: 2. 3. 2005, 13:46:07
mam tabulku, v ni 4 sloupce, prvni je id-index, druhy rok, treti mesic, ctvrty platba, a potrebuju scitat platby za aktualni mesic, a aktualni rok.
rok a mesic definuji: $selecttime=Time(); $montselect=Date("m", $selecttime); $yearselect=Date("Y", $selecttime); pak v pohode vyctu seznam ze sloupecku platby $vysledek = mysql_query("SELECT * FROM tabulka WHERE fmonth=$montselect AND fyear=$yearselect order by fid"); while ($zaznam = mysql_fetch_array($vysledek) ): ale nakonec nejsem schopen to cele z platby secist :o( |
||
Berkoff Profil |
#19 · Zasláno: 2. 3. 2005, 13:47:13
Takže zkus místo hvězdičky dát platby.
jenze pak to nebude vybirat jen ty radky, ktere odpovidaji WHERE, nebo se pletu? |
||
Honza Hučín Profil |
#20 · Zasláno: 2. 3. 2005, 14:33:05
Hvězdička znamená "vyber všechny sloupečky" a ve tvém případě je SELECT * totéž jako SELECT id, rok, mesic, platby. Hvězdička na výběr pomocí WHERE nemá vliv.
|
||
Berkoff Profil |
#21 · Zasláno: 2. 3. 2005, 15:05:16
Nevim no, asi sem lama, pac:
$vysledek = ("SELECT SUM(platby) AS soucet FROM fakturace"); echo $soucet; neukaze nic, cisto a bilo |
||
Hugo Profil |
#22 · Zasláno: 2. 3. 2005, 15:07:58
Berkoff
Zkus toto: $vysledek = ("SELECT SUM(platby) AS soucet FROM fakturace"); $vysledek2 = MySQL_Fetch_Assoc ($vysledek); echo $vysledek2['soucet']; |
||
Berkoff Profil |
#23 · Zasláno: 2. 3. 2005, 15:17:08
HUGO:
hlasi to chybu na radku $vysledek2 = MySQL_Fetch_Assoc ($vysledek); Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /mnt/win_d/globalftp/www/admins/price.php on line 26 |
||
Berkoff Profil |
#24 · Zasláno: 2. 3. 2005, 15:19:46
Cely skriptik:
zakomentovane radky v poradku funguji. sloupce jsou jako INT, tabulka MyISAM <? require "databaze.php"; //pripojeni k db //$selecttime=Time(); //$montselect=Date("m", $selecttime); //$yearselect=Date("Y", $selecttime); //$vysledek = mysql_query("SELECT * FROM fakturace WHERE fmonth=$montselect AND fyear=$yearselect order by fid"); //while ($zaznam = mysql_fetch_array($vysledek) ): //echo $zaznam["user"]; //echo " "; //echo $zaznam["castka"]; //echo " "; //echo $zaznam["zaplaceno"]; //echo " "; //echo "<hr>"; //endwhile; $vysledek = ("SELECT SUM(castka) AS soucet FROM fakturace"); $vysledek2 = MySQL_Fetch_Assoc ($vysledek); echo $vysledek2['soucet']; mysql_Close(); ?> |
||
Hugo Profil |
#25 · Zasláno: 2. 3. 2005, 15:27:10
Tak zkus toto:
$vysledek = ("SELECT SUM(castka) AS soucet FROM fakturace"); print mysql_error(); $vysledek2 = MySQL_Fetch_Assoc ($vysledek); echo $vysledek2['soucet']; myql_Close(); A uvidis co to vypise |
||
Berkoff Profil |
#26 · Zasláno: 2. 3. 2005, 15:31:04
to samy, na stejnym radku ..:o((
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /mnt/win_d/globalftp/www/admins/price.php on line 26 |
||
Hugo Profil |
#27 · Zasláno: 2. 3. 2005, 15:33:19
Uz vidim chybu
$vysledek = MySQL_Query ("SELECT SUM(castka) AS soucet FROM fakturace"); print mysql_error(); $vysledek2 = MySQL_Fetch_Assoc ($vysledek); echo $vysledek2['soucet']; myql_Close(); |
||
Berkoff Profil |
#28 · Zasláno: 2. 3. 2005, 15:35:21
Sem ***** ....:o)
|
||
Berkoff Profil |
#29 · Zasláno: 2. 3. 2005, 15:42:07
lidicky moc dik, uz to funguje, zanechal jsem tam:
$vysledek = MySQL_Query ("SELECT SUM(castka) AS soucet FROM fakturace"); za to pridal: WHERE fmonth=$montselect AND fyear=$yearselect a pocita to jen ty radky co chci, myslim ...:o) |
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0