Autor | Zpráva | ||
---|---|---|---|
David_ Profil * |
#1 · Zasláno: 30. 8. 2008, 23:48:24
Ahoj, poradíte mi prosím někdo, kde mám v tom dotazu chybu? Jednotlivě selecty i inserty fungují, ale dohromady ne...
$dotaz = "IF((SELECT COUNT(*) AS pocet FROM jos_product WHERE kod_zbozi = '".$kod_zbozi."') = 0, , INSERT INTO jos_vm_product_parametry ( parametr_publish, nazev, hodnota, kod_zbozi, poradi, editovano ) VALUES ( 1, IF((SELECT COUNT(*) AS pocet FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."') = 0,'".$kod_parametru."' , (SELECT nazev FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."')) , '".$hodnota."', (SELECT product_id FROM jos_vm_product WHERE kod_zbozi = '".$kod_zbozi."' ), 99, 'ne' ));"; nechal jsem to radši i s uložením dotazu do proměnné. Díky za rady |
||
Kajman_ Profil * |
#2 · Zasláno: 30. 8. 2008, 23:52:47
Takhle s if to asi nepůjde... ale můžete použít např. kontrukci
insert into select data Nebo to jednoduše udělat před dva dotazy. |
||
David_ Profil * |
#3 · Zasláno: 30. 8. 2008, 23:56:42
no ja prave nevim, ale ta podminka ve VALUES mi funguje:
IF((SELECT COUNT(*) AS pocet FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."') = 0,'".$kod_parametru."' , (SELECT nazev FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."')) |
||
Kajman_ Profil * |
#4 · Zasláno: 31. 8. 2008, 23:07:56
To jo... tam to vrací jenom hodnotu... nerozlišuje akci, kterou chcete s db dělat.
Zkuste něco jako.. INSERT INTO jos_vm_product_parametry ( parametr_publish, nazev, hodnota, kod_zbozi, poradi, editovano ) select 1, IF((SELECT COUNT(*) AS pocet FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."') = 0,'".$kod_parametru."' , (SELECT nazev FROM jos_atc_parametry_kody WHERE kod = '".$kod_parametru."')) , '".$hodnota."', (SELECT product_id FROM jos_vm_product WHERE kod_zbozi = '".$kod_zbozi."' ), 99, 'ne' ) where (SELECT COUNT(*) AS pocet FROM jos_product WHERE kod_zbozi = '".$kod_zbozi."')>0 |
||
Časová prodleva: 16 let
|
0