Autor | Zpráva | ||
---|---|---|---|
milanS Profil * |
#1 · Zasláno: 6. 8. 2005, 11:04:18
cez formular oznacim id zaznamu ktore chcem upravit je to cez checkbox ked to idem spracovat dostanem pole idcok u ktorych v mysql chcem upravit hodnotu potrebujem poradit ako to mam spracovat aby upravilo len oznacene id v db dakujem
|
||
Hugo Profil |
#2 · Zasláno: 6. 8. 2005, 11:19:54
milanS
Pokud tomu dobre rozumim tak potrebujes takovy dotaz foreach ($_POST['checkbox'] AS $v) { $Query = "UPDATE table SET ... WHERE ID = ".$v } kde $_POST['checkbox'] je pole id z checkboxu |
||
milanS Profil * |
#3 · Zasláno: 6. 8. 2005, 11:47:05
vo formulari mam
<input type='checkbox' name='prida[".mysql_Result($dotazarch,$pom,"id")."]' value=''> toto mi preda na spracovanie [prida] => Array ( [908] => [912] => ) a takto som upravil tvoj dotaz pridal som na koniec $sqlprikaz ; foreach ($_POST['prida'] AS $v) { $sqlprikaz="update ".$GLOBALS["rspredpona"]."archiv set stav_arch='2' where id_del=".$v; } ale nic mi to neurobi |
||
Hugo Profil |
#4 · Zasláno: 6. 8. 2005, 11:56:05
Aha, ty mas to id v atributu name?? To je teda pekna prasarna, ale v tom pripade mas dve moznosti, bud predelat ten chcekbox
<input type='checkbox' name='prida[]' value='.mysql_Result($dotazarch,$pom,"id").'> nebo foreach ($_POST['prida'] AS $k => $v) { $sqlprikaz="update ".$GLOBALS["rspredpona"]."archiv set stav_arch='2' where id_del=".$k; } |
||
milanS Profil * |
#5 · Zasláno: 6. 8. 2005, 12:09:59
upravil som to na
<input type='checkbox' name='prida[]' value='.mysql_Result($dotazarch,$pom,"id").'> nech to nie je prasarna ale upravi to len posledny oznaceny checkbox a nie vsetky oznacene foreach ($_POST['prida'] AS $v) { $sqlprikaz="update ".$GLOBALS["rspredpona"]."archiv set stav_arch='2' where id_arch=".$v; } |
||
Hugo Profil |
#6 · Zasláno: 6. 8. 2005, 12:19:12
A lisi se ty hodnoty ve value?? Podivej se na zdrojak, jestli ti to neprirazuje jen jedno id.
|
||
milanS Profil * |
#7 · Zasláno: 6. 8. 2005, 12:28:49
toto predava na spracovanie a upravi len poslednu hodnotu
[prida] => Array ( [0] => 908 [1] => 909 [2] => 912 ) |
||
Hugo Profil |
#8 · Zasláno: 6. 8. 2005, 12:36:28
Tak tam bude nekde zadrhel, imho mas MyQSL_Query() az za tim cyklem. Musi to byt takto
foreach ($_POST['prida'] AS $v) { $sqlprikaz="update ".$GLOBALS["rspredpona"]."archiv set stav_arch='2' where id_arch=".$v; MySQL_Query ($sqlprikaz); } Nechtelo se mi to rozepisovat, protoze sem cekal, ze te to napadne. |
||
milanS Profil * |
#9 · Zasláno: 6. 8. 2005, 13:11:59
mam tam este pridanu kontrolu na chybu
@$error=mysql_query($sqlprikaz,$GLOBALS["dbspojenie"]); if (!$error): echo "<p align='center' class='chyba'>Error code 2: Akcia neúspešná!</p>\n"; else: echo "<p align='center' class='txt'>Akcia úspešná! Zmena uložená.</p>\n"; endif; |
||
Hugo Profil |
#10 · Zasláno: 6. 8. 2005, 13:14:41
milanS
To muzes dat cele do toho cyklu, ale lepsi bude volat pomoci Die() funkci, ktera vypise chybove hlaseni. Bude to cistsi a snadnejsi na udrzbu. |
||
milanS Profil * |
#11 · Zasláno: 6. 8. 2005, 13:19:03
skusam to aj takto ale je to o tom istom
for ($i=0; $i < count($_POST['prida']);$i++) { $sqlprikaz="update ".$GLOBALS["rspredpona"]."archiv set stav_arch='2' WHERE id_arch='".$_POST['prida'][$i]."'"; } |
||
milanS Profil * |
#12 · Zasláno: 6. 8. 2005, 13:24:19
uz je to ok dakujem aj kontrolu na chybu urobim cez funkciu Die()
|
||
Hugo Profil |
#13 · Zasláno: 6. 8. 2005, 13:25:36
milanS
Musis uvnitr toho cyklu volat mysql_query. Pokud tuto funkci volas az za cyklem, tak je logicke, ze se provede jen posledni prikaz. Toto ti tu pisu uz potreti. |
||
Hugo Profil |
#14 · Zasláno: 6. 8. 2005, 13:26:17
pozde ...
|
||
Časová prodleva: 19 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0