Programovacie jazyky, rady, poradňa...
9mike
Amateur
Príspevky: 18 Registrovaný: 06 feb 2007, 15:17
Príspevok
od používateľa 9mike » 22 júl 2007, 18:59
Mam 2 tabulky tab1 a tab2.
V tab1 je stlpec:
farba - a v nom hodnoty:
modra
cervena
cierna
V tab2 je takisto stlpec:
farba - a v nom hodnoty:
zelena
biela
zlta
Kód: Vybrať všetko
function vypis()
{
global $link;
$query = " SELECT * FROM `tab1`, `tab2` ";
$result = mysql_query($query, $link) or die(mysql_error());
echo "<table>\n";
while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
echo "<tr>";
echo "<td>${row['farba']}</td>";
echo "</tr>\n";
}
mysql_free_result($result);
echo "</table>\n";
echo "<hr>\n";
}
Problem je ze nevypise vsetky farby z prvej a druhej tabulky, ale len z druhej tabulky a to takto:
zelena
zelena
zelena
biela
biela
biela
zlta
zlta
zlta
Nevie niekto ako dostanem pod seba 6 farieb z tych 2 tabuliek bez opakovania? dik
BeBe
Light Expert
Príspevky: 55 Registrovaný: 29 jún 2007, 19:42
Bydlisko: Kosice
Kontaktovať používateľa:
Príspevok
od používateľa BeBe » 22 júl 2007, 20:26
mno ono to vyzera tak, ze ono ten vysledok ma 2 stlpce: 1 z tab1 a 2. z tab2 a robi ti to kombinacie obsahov (preto aj to opakovanie)
skus toto: select * from tab1 union all select * from tab2
malo by ti to vypluvnut vysledky z tab1 a hned za tym z tab2 (aspon takto chapem o co ti ide)
to tvoje ti kladie tabulky vedla seba to s union all ich kladie pod seba
9mike
Amateur
Príspevky: 18 Registrovaný: 06 feb 2007, 15:17
Príspevok
od používateľa 9mike » 22 júl 2007, 22:03
hej toto som potreboval diky
// EDIT: neda sa este spravit aby som zistil ktore udaje su z ktorej tabulky?
napriklad takto nejak ze by to vypisalo:
Kód: Vybrať všetko
1 tabulka
modra
cervena
cierna
2 tabulka
zelena
biela
zlta
3 tabulka
...
mastermind
VIP
Príspevky: 4810 Registrovaný: 09 feb 2005, 13:17
Príspevok
od používateľa mastermind » 22 júl 2007, 22:05
da sa urobit toto
Kód: Vybrať všetko
SELECT 'tabulka1' as tab, farba FROM tabulka1
UNION ALL
SELECT 'tabulka2' as tab, farba FROM tabulka2
9mike
Amateur
Príspevky: 18 Registrovaný: 06 feb 2007, 15:17
Príspevok
od používateľa 9mike » 22 júl 2007, 22:33
hmm nic sa nezmenilo
mastermind
VIP
Príspevky: 4810 Registrovaný: 09 feb 2005, 13:17
Príspevok
od používateľa mastermind » 22 júl 2007, 22:38
9mike napísal: hmm nic sa nezmenilo
ale zmenilo. v kazdom riadku vies povedat z ktorej tabulky to je.
caesar1987
Addict
Príspevky: 3001 Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:
Príspevok
od používateľa caesar1987 » 22 júl 2007, 23:05
tak ked to uz chces mat rozdelene tak to daj cez viac dotazov a ides...
kazdu tabulku daj zvlast...
9mike
Amateur
Príspevky: 18 Registrovaný: 06 feb 2007, 15:17
Príspevok
od používateľa 9mike » 23 júl 2007, 10:41
no chcel som to cez jeden dotaz, nech to vypise automaticky, bude tam 30 tabuliek a kazdu kebyze mam vypisovat...
BeBe
Light Expert
Príspevky: 55 Registrovaný: 29 jún 2007, 19:42
Bydlisko: Kosice
Kontaktovať používateľa:
Príspevok
od používateľa BeBe » 23 júl 2007, 10:52
9mike napísal: neda sa este spravit aby som zistil ktore udaje su z ktorej tabulky?
[/code]
skus dat do kazdej tabulky ako prve ze tabulka 1 atd.
abo skus este daco taketo:
tabulka 1
union all
select * from tab1
union all
tabulka 2
union all
select * from tab2
mozno to tabulka 1 bude treba dat cez values(tabulka 1)
skus sa s tym tabulka1 pohrat troska
chrono
VIP
Príspevky: 7127 Registrovaný: 25 dec 2006, 15:17
Príspevok
od používateľa chrono » 23 júl 2007, 14:34
9mike napísal: no chcel som to cez jeden dotaz, nech to vypise automaticky, bude tam 30 tabuliek a kazdu kebyze mam vypisovat...
Tak si urobíš funkciu, ktorá urobí SELECT z jednej tabuľky. Tú funkciu budeš volať napr. pomocou cyklu for.
Neviem prečo, ale zdá sa mi, keď máš nejakú informáciu v 30 tabuľkách, že nemáš správny návrh tabuliek.
9mike
Amateur
Príspevky: 18 Registrovaný: 06 feb 2007, 15:17
Príspevok
od používateľa 9mike » 26 júl 2007, 17:30
V kazdej tabulke budu zapasy z jedneho tyzdna, spolu je to vyse 200 riadkov v DB, mal by som to dat do jednej tabulky?
caesar1987
Addict
Príspevky: 3001 Registrovaný: 02 okt 2005, 0:57
Bydlisko: Nové Zámky
Kontaktovať používateľa:
Príspevok
od používateľa caesar1987 » 26 júl 2007, 17:33
podla mna kludne ano..