Autor | Zpráva | ||
---|---|---|---|
Xperia Profil |
Mám v databázi dvě tabulky, tym a chyby,
Tabulky obsahuji: tym = idt, hrubynazev, cistynazev chyby = idc, tym (to je vlastně hrubynazev), zamestnanec, chyba1, chyba2, chyba 3, nezjistene <table> <tr> <td><strong>Team</strong></td> <td><strong>Zaměstnanec</strong></td> <td><strong>Chyba 1</strong></td> <td><strong>Chyba 2</strong></td> <td><strong>Chyba 3</strong></td> </tr> <?php $vysledek=mysql_query("SELECT * FROM `chyby` where nezjistene=\"ne\" ORDER BY idc ASC"); while ($vypis=MySQL_Fetch_Array($vysledek)): echo "<tr><td>".$vypis["tym"]."</td> <td>".$vypis["zamestnanec"]."</td> <td>".$vypis["chyba1"]."</td> <td>".$vypis["chyba2"]."</td> <td>".$vypis["chyba3"]."</td> </tr>"; endwhile; echo "</table>"; ?> Funguje mi to správně, ale jak udělat aby se místo hrubého názvu zobrazil čistý název týmu z jiné tabulky (tym - cistnynazev) a hledalo to tam podle hrubeho nazvu? Napadají mě v hlavě spousty řešení ale buď to ve finále nejde, nebo je to nesnesitelný prasokód ... Díky za pomoc. |
||
Alphard Profil |
#2 · Zasláno: 4. 6. 2011, 12:39:57
Spojit pomocí join, ale jsou potřeba nějaké vazební sloupce, návrh záleží na použité relaci, 1:1, 1:M?
Sloupce chyba1, chyba2, chyba3 jsou správně navrženy jenom v případě, že z nějakého důvodu budou chyby vždy právě (maximálně) tři. |
||
Xperia Profil |
#3 · Zasláno: 4. 6. 2011, 12:47:06
Chyba1, Chyba2, Chyba3 jsou tři různé typy chyb, resp. počet chyb u daného typy chyby.
A vazební sloupce? O tom slyším prvně, jsem začátečník :) |
||
Alphard Profil |
#4 · Zasláno: 4. 6. 2011, 12:52:51
http://www.linuxsoft.cz/article.php?id_article=837 plus okolní díly. Tohle je důležitá kapitola u relačních databází, ale nejde stihnout za pět minut.
|
||
Xperia Profil |
Ani tak si s tím nevím rady, prosím o přesun do Jak něco udělat.
Moderátor Alphard: Nakonec přesunuto z PHP do databází.
|
||
okolojdouci Profil * |
#6 · Zasláno: 4. 6. 2011, 16:11:03
Xperia:
„prosím o přesun do Jak něco udělat.“ Proč? Konkrétnější odpověď tam nedostaneš. Buď to chceš udělat sám a pak to musíš pochopit, k čemuž ti odkázaný článek postačí, nebo chceš, aby ti to někdo udělal, ale pak by šlo o přesun do Práce a zakázky. |
||
Xperia Profil |
#7 · Zasláno: 4. 6. 2011, 16:15:01 · Upravil/a: Xperia
Já jsem něco zfáral, jenže jak jde o while, tak to vyhazuje nepravdivý označení týmu k danému řádku...
okolojdouci: „Buď to chceš udělat sám a pak to musíš pochopit, k čemuž ti odkázaný článek postačí, nebo chceš, aby ti to někdo udělal, ale pak by šlo o přesun do Práce a zakázky.“ V tom případě nechápu, proč kategorie Jak něco udělat, existuje. |
||
okolojdouci Profil * |
#8 · Zasláno: 4. 6. 2011, 16:19:39
Xperia:
„Já jsem něco zfáral, jenže jak jde o while, tak to vyhazuje nepravdivý označení týmu k danému řádku...“ Věř tomu nebo ne, toto k tomu, aby někdo něco poradil, opravdu nestačí. Pokus se rozeznat, jestli je problém v sql dotazu nebo v php konstrukci kolem něj, pak sem tu problematickou část dej a popiš přesně, co to dělá a co chceš aby to dělalo. |
||
Xperia Profil |
#9 · Zasláno: 4. 6. 2011, 16:40:57
Problém je v SQL dotazu, konkrétní řešení vypisuje vše správně, jak jsem se snažil experimentovat s těmi příklady na linuxsoftu, buď to nejde, nebo mi jednoho zaměstnance vypíše script tolikrát, kolik existuje týmů (resp. kategorií).
Resp.: Tým, Jméno, Chyba1, Chyba2, Chyba3 T5, Adéla, 1, 2, 3 T6, Adéla, 3, 2, 1 T7, Adéla, 3, 3, 1 T5, Adam, 1, 2, 3 T6, Adam, 2, 2, 2 T7, Adam, 0, 0, 1 |
||
Xperia Profil |
#10 · Zasláno: 4. 6. 2011, 17:28:39 · Upravil/a: Xperia
Vyřešeno,
$vysledek=mysql_query("SELECT teams.cistynazev as tym, chyby_mai_2011.team, chyby_mai_2011.zamestnanec, chyby_mai_2011.chyba1, chyby_mai_2011.chyba2, chyby_mai_2011.chyba3 FROM chyby_mai_2011, teams WHERE chyby_mai_2011.team = teams.hrubynazev AND chyby_mai_2011.nezjistene=\"ne\" ORDER BY chyby_mai_2011.idc ASC"); |
||
Alphard Profil |
#11 · Zasláno: 4. 6. 2011, 17:56:57
Xperia:
„V tom případě nechápu, proč kategorie Jak něco udělat, existuje.“ Obecnější kategorie, někdo se třeba ptá "Jak vytvořit anktetu". Tento problém spadá spíše do Databází, kam to možná přesunu. V každém případě, větší šance na odpověď k tomuto tématu byla v kategorii PHP. |
||
Časová prodleva: 13 let
|
0