Autor Zpráva
radas
Profil *
Zdravím,
potřeboval bych poradit jak upravit sql dotaz ať z toho nemam takovou obludu :(
$dotaz = MySQL_Query("SELECT id,cena,popis,kod FROM produkt     where id='" . $id . "' limit 1") ;
$zaznam = MySQL_Fetch_assoc($dotaz ) ;
// získam do $zaznam['kod'] X12345_123 
$kod = explode("_", $zaznam['kod']);
//potřebuji jen X12345
$dotaz1 = MySQL_Query("SELECT id FROM produkt     where kod='" . $kod[0] . "' limit 1") ;
$id_obr = MySQL_Fetch_assoc($dotaz1) ;


nadlo mě přes left join ale nevim jak na urovni mysql rozdělit proměnnou kod....
Marek88
Profil
Pokud to dobře chápu, tak potřebuješ vybrat produkt a k němu ID nějakého nadřazeného produktu? Pokud ano, tak si myslím, že by bylo vhodnější ke každému produktu rovnou přiřadit položku id_nadrazeneho_produktu a tím to vybereš jedním dotazem. Sice to zabere trochu místa v databázi, ale myslím, že oproti popiskům zboží a podobně je jedno číslo zanedbatelné...

Jinak odpověď přímo na tvojí otázku neznám, nevím jak rozdělit to X12345_123...
Kajman_
Profil *
radas:
jak na urovni mysql rozdělit proměnnou kod....
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substring-index

Ale efektivní to nebude.
xantin
Profil *
Jak říká Marek88 přidat další tabulku s nadřazenými produkty
(rozdělit na tab. hl.produkt prvni kód a tab. podprudukt jen s tím posledním kódem a id_hl.produktu.) nebo jiné řešení rozdělit sloupeček kód na 2 sloupce, X12345_123 => x12345 a 123 (něco jako rodič(x12345) a potomek(123). Důležité je, co máš v plánu s tím provádět dál.

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