Autor | Zpráva | ||
---|---|---|---|
termitus Profil * |
#1 · Zasláno: 17. 11. 2007, 16:57:47
zdravim
Potreboval by som poradit Rozdelim retazec funkciu explode. Jednotlive casti retazca by som chcel porovnat voci db v jednom dotaze. Je nieco take mozne? Dufam ze ano. PR. $vymenena_suciastka1=strtolower($_POST["vymenena_suciastka_11"]); $array_suciasta_1 =explode("/", $vymenena_suciastka1); do $vymenena_suciasta1 sa zapisuju data v podobe : u4d1/u7d1/u2c1/u4f1. ked to dam do pola potreboval by som jednotlive casti retazca u4d1, u7d1... porovnat voci db ci tam su alebo nie. |
||
tiso Profil |
#2 · Zasláno: 17. 11. 2007, 17:37:05 · Upravil/a: tiso
... WHERE nazov_stlpca IN (...prvky pola oddelene ciarkou..)
|
||
termitus Profil * |
#3 · Zasláno: 17. 11. 2007, 17:45:13
$sql19 = "select count(*) FROM location where Location IN ($array_suciasta_1[1], $array_suciasta_1[2], $array_suciasta_1[3], $array_suciasta_1[4])";
myslis takto ? |
||
termitus Profil * |
#4 · Zasláno: 17. 11. 2007, 17:55:38
Warning: mysql_result(): supplied argument is not a valid MySQL result resource in C:Program FilesVertrigoServwwwdatavstup_enginiering.php on line 223
Warning: mysql_free_result(): supplied argument is not a valid MySQL result resource in C:Program FilesVertrigoServwwwdatavstup_enginiering.php on line 260 az na tieto 2 hlasky to facha super diky moc. |
||
termitus Profil * |
#5 · Zasláno: 17. 11. 2007, 18:14:40
sorry zmylil som sa nedela to tak ako ma nekontroluje to spravne prejde aj to co nema!
|
||
djlj Profil |
#6 · Zasláno: 17. 11. 2007, 18:22:16 · Upravil/a: djlj
where Location IN ('".implode(",", $array_suciasta_1)."')
|
||
termitus Profil * |
#7 · Zasláno: 17. 11. 2007, 18:30:30
to iste stale pusti aj to co nie je v db
ale aj tak diky pravdepodobne to budem musiet urobit cez kopu sql dotazov |
||
mitr Profil |
#8 · Zasláno: 19. 11. 2007, 13:04:48 · Upravil/a: mitr
termitus
a nemůžeš tam porovnávat třeba ID a ne (nejspíš asi) podle nějakého kodu (u4d1/u7d1/u2c1/u4f1) ? Přeci jenom by to bylo určitě nejen rychlejší a ejstli nebude problém v tom že to máš v DB asi jako varchar a kdo ví co udělá IN s tímto ? |
||
djlj Profil |
#9 · Zasláno: 19. 11. 2007, 14:02:15
No já jsem to napsal trochu blbě, jen mi to teď už nejde upravit.
Takhle by to mělo fungovat: where Location IN ('".implode("', '", $array_suciasta_1)."') |
||
termitus Profil * |
#10 · Zasláno: 20. 11. 2007, 08:10:50
to mitr
princip je v tom ze v db mam jednotlive retazce ale v podobe bez tych lomitok. tie rtazce su nieco ako suradnice umiestnenia niecoho. A u4f1/u4d1 retazec hovori ze je potrebne nieco urobit na lokacii u4f1 a na lokacii u4d1 nie je mozne urobit kombinacie vsetkych moznosti pretoze tych lokacii je 2000. ale aj tak diky za radu to djlj ak tomu spravne chapem tak ty chces aby som porovnaval cele pole voci db ale ja potrebujem porovnavat len jeho casti a to tie ktore su od seba oddelene lomitkom takto to podla mna nebude pracovat v db mam tabulku takto: u4d1 u7d1 u5f1 ... a voci tomu porovnavam retazec u4d1/u7d1/u5f1 preto som to rozdelil funkciou explode aby som mal z toho jednotlive casti a tie potom potrebujem v jednom sql dotaze porovnat voci db.Maximalne mnozstvo casti je 8. ale diky vsem za snahu |
||
termitus Profil * |
#11 · Zasláno: 20. 11. 2007, 10:01:06
tak nakonec som to vyriesil seriov dotazov na db a par podmienkami facha ako ma diky moc za snahu
|
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0