Autor | Zpráva | ||
---|---|---|---|
starburst Profil |
#1 · Zasláno: 27. 6. 2008, 16:08:38 · Upravil/a: starburst
Zdravím,
řeším na webu něco jako statistiky a potřeboval bych aby to vytahovalo data z databaze a vkladalo je do tabulky - coz neni problem ale potreboval bych aby se mi zaroven vygenerovalo poradi. nejjednodussi bude priklad... mam tabulku: <thead> <tr><td>jmeno</td><td>pocet bodu</td><td>poradi</td></tr> </thead> <tbody> <tr><td>pepa</td><td>55</td><td>poradi</td></tr> <tr><td>tonda</td><td>22</td><td>poradi</td></tr> <tr><td>franta</td><td>25</td><td>poradi</td></tr> <tr><td>lojza</td><td>41</td><td>poradi</td></tr> <tr><td>evzen</td><td>38</td><td>poradi</td></tr> </tbody> to prvni cislo je vytazeny selektem z databaze ( select je v kazde bunce - ne jednim na celou tabulku) a potrebuju aby mi to misto toho poradi napsalo cislo poradi kdyz by se to seradilo vzestupne nebo sestupne. nevíte někdo jak na to? děkuji |
||
nightfish Profil |
#2 · Zasláno: 27. 6. 2008, 16:13:01
jakým dotazem to taháš? jakou máš strukturu? proč pro každou buňku děláš nový select?
|
||
starburst Profil |
#3 · Zasláno: 27. 6. 2008, 16:37:23
je to slozity... kdyz jsem tvoril strukturu databaze tak sem nepocital s tim ze budu delat toto a nemam pro to vhodou strukturu... mam proste tabulku kde je id,datum,adresa,strojnik,velitel,no_1,no_2,no_3,prace,cas_ohlaseni,cas _vyjezdu,cas_zahajeni,cas_ukonceni
a potrebuji udelat statistiky do tabulky kde mi to vyhodi k tomu jmenu cislo kolikrat byl za celou dobu na pozici strojnik, kolikrat na pozici velitel, kolikrat na pozici tech no_# a neprisel jsem na jinej zpusob jak to z toho udelat takze to delam takto: <thead> <tr><td>jmeno</td><td>strojnik</td>><td>velitel</td>><td>cisla</td><td >poradi</td></tr> </thead> <tbody> <tr><td>pepa</td><td> <?php dotaz = select count(*) form zasahy_2008 where strojnik = 'pepa'; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td> <?php dotaz = select count(*) form zasahy_2008 where velitel = 'pepa'; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td> <?php dotaz = select count(*) form zasahy_2008 where no_1 = 'pepa' or no_2 = 'pepa' or no_3 = 'pepa'"; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td><td>poradi</td></tr> <tr><td>tonda</td><td> <?php dotaz = select count(*) form zasahy_2008 where strojnik = 'tonda'; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td> <?php dotaz = select count(*) form zasahy_2008 where velitel = 'tonda'; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td> <?php dotaz = select count(*) form zasahy_2008 where no_1 = 'tonda' or no_2 = 'tonda' or no_3 = 'tonda'"; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td><td>poradi</td></tr> <tr><td>franta</td><td> <?php dotaz = select count(*) form zasahy_2008 where strojnik = 'franta'; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td> <?php dotaz = select count(*) form zasahy_2008 where velitel = 'franta'; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td> <?php dotaz = select count(*) form zasahy_2008 where no_1 = 'franta' or no_2 = 'franta' or no_3 = 'franta'"; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td>poradi</td></tr> <tr><td>lojza</td><td> <?php dotaz = select count(*) form zasahy_2008 where strojnik = 'lojza'; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td> <?php dotaz = select count(*) form zasahy_2008 where velitel = 'lojza'; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td> <?php dotaz = select count(*) form zasahy_2008 where no_1 = 'lojza' or no_2 = 'lojza' or no_3 = 'lojza'"; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td>poradi</td></tr> <tr><td>evzen</td><td> <?php dotaz = select count(*) form zasahy_2008 where strojnik = 'levzen'; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td> <?php dotaz = select count(*) form zasahy_2008 where velitel = 'evzen'; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td> <?php dotaz = select count(*) form zasahy_2008 where no_1 = 'evzen' or no_2 = 'evzen' or no_3 = 'evzen'"; vysledek = mysql_qery($dotaz) or die ("error"); echo $vysledek; ?> </td> <td>poradi</td></tr> </tbody> jestli je to aspon trochu pochopitelny proc to tak mam... na chyby v tomto co sem napsal nehledte... psal sem to z hlavy v praci a narychlo... |
||
starburst Profil |
#4 · Zasláno: 27. 6. 2008, 16:43:08 · Upravil/a: starburst
jestli chcete vidět priklad jak to mam tu tabulku tak je to tady ale tady to je jeste delany ze sem to rucne spocital a napsal coz uz prave nechci a chtel bych aby to tahalo z databaze samo ty cisla...
|
||
Časová prodleva: 4 dny
|
|||
starburst Profil |
#5 · Zasláno: 1. 7. 2008, 12:22:57
nikdo nevite jak by se to dalo udelat?
|
||
nightfish Profil |
#6 · Zasláno: 1. 7. 2008, 13:20:39
tohle by mohlo fungovat (ale netuším, jak to bude rychlé)
select jmeno, (select count(*) from zasahy_2008 where strojnik = jmeno) strojnikPocet, (select count(*) from zasahy_2008 where velitel = jmeno) velitelPocet, (select count(*) from zasahy_2008 where no_1 = jmeno or no_2 = jmeno or no_3 = jmeno) hasicPocet FROM tabulkaSeJmeny |
||
Kajman_ Profil * |
#7 · Zasláno: 1. 7. 2008, 14:20:00
Tak si změňte strukturu.
Se starou by to asi také šlo select strojnik jmeno, 'strojnik' pozice, count(*) pocet zasahy_2008 from group by strojnik union all select velitel jmeno, 'velitel' pozice, count(*) pocet zasahy_2008 from group by velitel union all ... |
||
Časová prodleva: 16 let
|
0