• 9 odgovora
  • 2.800 pregleda
iscitavanje iz tri tabele.da li je moguce? 23.02.2007. u 18:54 · pre 239 meseci #1
output treba da izgleda ovako


Date Team1 Team2 Team3
03.01 job1 job1 job1
03.02 job2 job2 job2
03.03 job3 job3 job3
03.04 job4 job4 job4
03.05 job5 job5 job5

e sad problem je nastao zato sto team1 se nalazi u tabeli1, team2 se nalazi u tabeli2,team3 se nalazi u tabeli3. kako napraviti da while loop cita istovremeno tri tabele.

///da li bi to ovako izgledalo

while ($row = mysql_fetch_assoc($result,$result2,$result3))
{
Re: iscitavanje iz tri tabele.da li je moguce? 24.02.2007. u 16:55 · pre 239 meseci #2
Sasvim nepotrebno 3 tabele bolje napisi skriptu koja konvertuje to sve u jednu da se ne mucis....

Al ako vec zelis tako da ostane evo ti skripta koja ce ti raditi posao (nije specijalno pametna al ajd sad bitno da radi)
Code:

$result1 = mysql_query(nesto1);
$result2 = mysql_query(nesto2);
$result1 = mysql_query(nesto3);

echo "<table>\n";
while (($row1 = mysql_fetch_array($result1, MYSQL_BOTH)) || ($row2 = mysql_fetch_array($result2, MYSQL_BOTH)) || ($row3 = mysql_fetch_array($result3, MYSQL_BOTH))) {
  $polje1 = $row1["polje1"];
  $polje2 = $row2["polje2"];
  $polje3 = $row3["polje3"];

  echo "<tr><td>$polje1</td><td>$polje2</td><td>$polje3</td></tr>\n";

}
echo "</table>\n";


a za datume ubaci dodatnu logiku ako je neophodna tj ako nemaju svi timovi zadatke za sve datume

Nadam se da si dobio predstavu bar neku o tome :)
Re: iscitavanje iz tri tabele.da li je moguce? 24.02.2007. u 20:28 · pre 239 meseci #4
Pa kad nije napisala ime ne mozemo na osnovu nicka da zakljucimo
Anyway, mislim da moze i ovako:
Code:

$q = mysql_query("SELECT * FROM tabela1,tabela2,tabela3");
$r = mysql_fetch_array($q);
echo $r['polje_iz_tabele1']."<br />"; // Itd.
Potpis
“I never think of the future - it comes soon enough.” - Albert Anštajn (Albert Einstein)
Re: iscitavanje iz tri tabele.da li je moguce? 25.02.2007. u 11:11 · pre 239 meseci #8
Citat:
Neohacker: Anyway, mislim da moze i ovako:
Code:

$q = mysql_query("SELECT * FROM tabela1,tabela2,tabela3");
$r = mysql_fetch_array($q);
echo $r['polje_iz_tabele1']."<br />"; // Itd.


ovakav join ce da ti vrati "svaki sa svakim"... probaj i sam pa vidi.
http://dev.mysql.com/doc/refman/5.0/en/join.html

prvo, nije mi jasno zasto su ocigledno isti entiteti razdvojeni u razlicite tabele, tako da mi se cini da treba malo poraditi na normalizaciji baze.
drugo, cak i da mora da ostane ovako, tabele bi trebalo povezati po nekom polju, a ne ovako. djovan01, jel mozes da napises definicije tih tabela?
Re: iscitavanje iz tri tabele.da li je moguce? 26.02.2007. u 15:06 · pre 239 meseci #9
Citat:
japan: ovakav join ce da ti vrati "svaki sa svakim"... probaj i sam pa vidi.
http://dev.mysql.com/doc/refman/5.0/en/join.html

prvo, nije mi jasno zasto su ocigledno isti entiteti razdvojeni u razlicite tabele, tako da mi se cini da treba malo poraditi na normalizaciji baze.
drugo, cak i da mora da ostane ovako, tabele bi trebalo povezati po nekom polju, a ne ovako. djovan01, jel mozes da napises definicije tih tabela?



tabela je samo primer koji sam ostavila. inace ono sto ja trebam da napravim je kalendar rada za svaki mesec. postoje devet oblasti rada tipa elektricari, vozaci, sta ti ja znam moleri . svaka oblast rada ima svoje timove radnika recimo elejtricari imaju 7 timova onda vozaci imaju 5 timova pa moleri imaju 10 itd. zato sam ih razdvojila u posebne tabele jer oni nemaju nista zajednicko i zato kada bi stavila sve to u jednu tabelu bilo bi previse. bar ja tako mislim. nisam mnogo upucena sto se tice pravilnog kreiranja baze ali ucim i zato visim stalno na ovom forumu sa milion pitanja. :) koji su vasi predlozi sto se tice kreiranja tabela malo bolje.
Re: iscitavanje iz tri tabele.da li je moguce? 26.02.2007. u 15:58 · pre 239 meseci #10
ono sto bi odmah trebalo da ti upadne u oci je da ako hoces npr. da dodas jos neku struku, ti moras da kreiras novu tabelu. to mozes da resis tako sto ces napraviti nadredjenu tabelu, koja ce sadrzati struke, pa ako to imas, onda se dodavanje nove struke svodi na insert u tu tabelu.

prakticno, ti sad imas ovakvu situaciju:

Code:

elektricari:
id       |  name | foo | bar
-----------------------------
1        | team1 | foo | bar
2        | team2 | foo | bar

moleri:
id       |  name | foo | bar
-----------------------------
1        | team3 | foo | bar
2        | team4 | foo | bar


i tako za svaku struku.

a ako uradis ono sto sam ti rekao, imaces:
Code:

struka:
id      | name 
-----------------
1       | elektricari
2       | moleri

teams:
id     | struka_id  | name | foo | bar
--------------------------------------
1      | 1          | team1| foo | bar
2      | 1          | team2| foo | bar
3      | 2          | team3| foo | bar
4      | 2          | team4| foo | bar


pa ti se sad dodavanje nove struke svodi na insert u tabelu struka, a ne na kreiranje nove tabele.

a ujedno ti resava i problem zbog koga si otvorila thread.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme