Autor | Zpráva | ||
---|---|---|---|
Monkeys Profil * |
#1 · Zasláno: 16. 2. 2015, 12:08:42
Zdravim mam 3 tabulky v ktorych mam neake obrazky
Tab1 - field_data_zlaby id_zlabu | nadpis | ... 1 ... 2 ... 3 ... Tab2 - okotovane_portfolio id_obrazku | id_zlabu | ... 3 1 Tab3 - obrazky_portfolio id_obrazku | id_zlabu | ... 6 1 7 1 8 1 Nedari sa mi vytiahnut vsetky obrazky z tabulky 3 podla id_zlabu, vzdy mi to vrati iba jeden Moj sql dotaz: $sql = "SELECT z.foto_nahlad, ok.obrazok, op.obrazok FROM field_data_zlaby AS z LEFT JOIN okotovane_portfolio AS ok USING(id_zlabu) LEFT JOIN (SELECT id_zlabu, obrazok FROM obrazky_portfolio WHERE id_zlabu IN({$values})) AS op USING(id_zlabu) WHERE z.id_zlabu IN ({$values})"; Dakujem za radu M. |
||
Keeehi Profil |
#2 · Zasláno: 16. 2. 2015, 13:32:15
Monkeys:
Proč jsou tabulky 2 a 3 rozdělené? Podle těch sloupců co tu jsou ukázané to spíš vypadá, že by to měla být jedna tabulka. Takže to vypadá na špatný návrh. Měl by jít použít union ovšem lepší bude to předělat tak, aby nebyl potřeba. |
||
Monkeys Profil * |
#3 · Zasláno: 16. 2. 2015, 14:11:53 · Upravil/a: Monkeys
Keeehi:
Rozdelene je to myslim dobre kazdy druh obrazku ma svoju vlastnu tabulku. Problem bol v cykle ktory mi vracal udaje z databazi. $img = array(); while( $row = $this->register->getObject('db')->fetchArray() ){ $img = $row; } zabudol som pridat zatvorky, preto mi to vzdy vratilo len posledny vypis. M. Neako zle sa to zobrazilo $img[] = $row; |
||
Keeehi Profil |
#4 · Zasláno: 16. 2. 2015, 22:19:20
Pokud se liší jen typem, nebylo by lepší je mít všechny v jedné tabulce která bude rozšířená o sloupec který by udával právě typ? Důsledkem by byl mnohem jednodušší select všech obrázků nezávisle na typu.
|
||
Časová prodleva: 10 let
|
0