Autor Zpráva
Monkeys
Profil *
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
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 *
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
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.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0