Zdravím, řeším jeden problém.
Mám 3 tabulky: Skupiny(id, nazev), Podskupiny(id, skupina, nazev), Produkty(...,podskupina,...)
Do tabulky skupiny budu dávat skupiny s ID a jejich názvem, do tabulky podskupiny id, v jaké jsou skupině a název, a do produktů do jaké patří podskupiny a pár dalších.
Řeším problém že někdo vybere skupinu, a dají se mu na výběr podskupiny, v případě že ale nenašel co mu vyhovuje bude tam možnost Nová, kde to inputu zadá název podskupiny která se pak přidá do složky Podskupiny s ID->A_I skupinou tu kterou vybral(skupiny nemůže vytvářet) a názvem který zadal.
To ale vše bude na jednom formuláři a když on dá potvrdit, tak do tabulky Produkty se musí zadat do sloupce podskupina ID té podskupiny kam patří.
Já ale nevím jak to zjistit abych nemusel dávat další dotaz kde dostanu poslední ID, a pak další dotaz kde přiřadím už ten produkt s ID které jsem vytáhl, muselo by se to řešit 3-mi příkazy. Nešlo by to nějak smrsknout do nejlépe jednoho?
SQL dotaz
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
SQL dotaz
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
- OndraSter
- Středně pokročilý

- Registrován: 22. úno 2006
- Bydliště: Praha / ČVUT FIT
- Kontaktovat uživatele:
Re: SQL dotaz
Jednoho nevím, ale často je lepší dva primitivní, než jeden složitý.
Do dvou by to šlo tak, že budeš mít v inputech jednotlivé subkategorie tak, že value="<id>" a text bude název. Pak tam budeš mít jednu subkategorii natvrdo - Nová, s ID 0 (třeba). A ve skriptu dáš
if ($_POST['kategorie'] == 0 )
{
mysql_query('INSERT INTO subkategorie(skupina, nazev) VALUES (.....)');
$podskupinaID = mysql_last_id();
mysql_query('INSERT INTO produkty(... subkategorie ...) VALUES (...., ' . $podskupinaID . '....)' );
}

Do dvou by to šlo tak, že budeš mít v inputech jednotlivé subkategorie tak, že value="<id>" a text bude název. Pak tam budeš mít jednu subkategorii natvrdo - Nová, s ID 0 (třeba). A ve skriptu dáš
if ($_POST['kategorie'] == 0 )
{
mysql_query('INSERT INTO subkategorie(skupina, nazev) VALUES (.....)');
$podskupinaID = mysql_last_id();
mysql_query('INSERT INTO produkty(... subkategorie ...) VALUES (...., ' . $podskupinaID . '....)' );
}
PC: i5-2500k 4.5GHz/24GB RAM/GTX560 Ti 1GB/>5TB - W7 Prof x64; Microsoft SideWinder X3 notebook: HP 6715b (4GB RAM) - W7 Prof x64;
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32
Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
mobil: Nokia Lumia 800 Cyan, 16GB; tablet: Toshiba Portege M200 (2GB, 64GB SSD, GeForce FX5200) - W7 Prof x32
Nahraďte Arduino výkonnější variantou!
Vývojová prostředí a nástroje | Webové prohlížeče | Seznam freehostingů
- arxeiss
- Začátečník

- Registrován: 19. črc 2008
- Bydliště: Krmelín (předměstí Ostravy)
- Kontaktovat uživatele:
Re: SQL dotaz
tak jsou 3 když to tak vemeš, mysql_last_id(); je taky dotaz na SQL, toto jsem tak udělal, a právě jsem chtěl vědět jestli to nepůjde jednodušeji, díky.
Můžete LOCK
Můžete LOCK
PC : CPU: C2D E5200 2500Mhz @ 3750Mhz a AC Freezer 7PRO MB: Gigabyte GA-P31-DS3L rev.2,1 GPU: ATI Radeon 3650HD 256MB RAM: A-Data Vitesta 2x2GB Zdroj: Forton OEM 400W HDD: Samsung F2 500GB
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min
Netbook : Asus EEE CPU: Intel Atom N270 1,6GHz RAM: A-Data 2GB HDD: 250GB 5400ot/min