SQL query na rovnakú schému

Programovacie jazyky, rady, poradňa...
grrJava
Amateur
Amateur
Príspevky: 33
Registrovaný: 12 feb 2012, 16:35

SQL query na rovnakú schému

Príspevok od používateľa grrJava »

Čau lidi. Mám tabuľky A, B, C, D, pričom všetky majú rovnakú schému. Nevedeli by ste mi niekto prosím poradiť, ako to všetko cez php vybrať?
Čo mám...

Kód: Vybrať všetko

$result = mysql_query("SELECT stlpec1, stlpec2, stlpec3 FROM a, b, c, d WHERE userid=$id") or die(mysql_error);
while($row = mysql_fetch_array($result, MYSQL_NUM))
{
     echo "$row[0]...$row[1]...$row[2]";
}
Nevidím problém ako to vybrať, problém vidím v tom, ako to vypísať. Potrebujem niečo ako toto:

Kód: Vybrať všetko

   tabulka   |   stlpec1   |   stlpec2   |   stlpec3   
   A               hodnota      hodnota       hodnota
   B               hodnota      hodnota       hodnota
   C               hodnota      hodnota       hodnota
   D               hodnota      hodnota       hodnota
Potrebujem vypísať hodnoty ale aj názvy tabuliek... Nevedeli by ste mi s tým niekto pomôcť?
c-ice
Medium Star
Medium Star
Používateľov profilový obrázok
Príspevky: 475
Registrovaný: 04 mar 2008, 15:18
Kontaktovať používateľa:

Re: SQL query na rovnakú schému

Príspevok od používateľa c-ice »

neviem co riesis ale preco to nespravis v cykle ... tym selectom si osobne moc niesom isty co tam mas ... ale trocha si to komplikujes lebo ak chapem spravne chces vypisat styri tabulky A B C D tak nevidim dovod preco by si ich mal vytahovat v jednom query

rovno si sprav funkciu na to ....

Kód: Vybrať všetko

function vypisTabulka($meno){
  $result = mysql_query("SELECT stlpec1, stlpec2, stlpec3 FROM $meno WHERE userid=$id") or die(mysql_error);
  while($row = mysql_fetch_array($result, MYSQL_NUM))
  {
     echo "<tr><td>$row[0]</td><td>$row[1]</td><td>$row[2]</td></tr>";
  }
}
vyzera ze schemu poznas takze nazvy stlpcov su rovnake nie ?
echo "<table><tr><th>$meno</th><th>stlpec1</th><th>stlpec2</th><th>stlpec3</th></tr>";
vypisTabulka($meno);
echo "</table>";
jorg22
Medium Professional
Medium Professional
Používateľov profilový obrázok
Príspevky: 1087
Registrovaný: 12 aug 2006, 20:39
Kontaktovať používateľa:

Re: SQL query na rovnakú schému

Príspevok od používateľa jorg22 »

Skus pouzit alias, takto by to mohlo fungovat

Kód: Vybrať všetko

SELECT a.stlpec1 a1, a.stlpec2 a2, a.stlpec3 a3, b.stlpec1 b1, b.stlpec2 b2, b.stlpec3 b3, c.stlpec1 c1..... FROM a, b, c, d WHERE userid=$id
potom to vypises

Kód: Vybrať všetko

 echo "TABULKA A: $row[0]...$row[1]...$row[2]";
 echo "TABULKA B: $row[3]...$row[4]...$row[5]";
 echo "TABULKA C: $row[6]...$row[7]...$row[8]";
.
.
.
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: SQL query na rovnakú schému

Príspevok od používateľa audiotrack »

ak je z každej tabuľky ten riadok iba jeden, tak môžeš použiť union all a v každej iterácii cyklu potom vypisuješ jeden riadok (záznam z novej tabuľky). Ak môže vybrať viac riadkov z jednej, tak to nevyužiješ lebo nebudeš vedieť kedy končí a kedy začína druhá
Napísať odpoveď