Autor Zpráva
milanS
Profil *
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
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 *
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
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 *
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
A lisi se ty hodnoty ve value?? Podivej se na zdrojak, jestli ti to neprirazuje jen jedno id.
milanS
Profil *
toto predava na spracovanie a upravi len poslednu hodnotu
[prida] => Array ( [0] => 908 [1] => 909 [2] => 912 )
Hugo
Profil
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 *
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
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 *
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 *
uz je to ok dakujem aj kontrolu na chybu urobim cez funkciu Die()
Hugo
Profil
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
pozde ...
Toto téma je uzamčeno. Odpověď nelze zaslat.

0