Witam.
Opłacało się trochę posiedzieć, znalazłem rozwiązanie, przekazuje dla kolegi, który miał z tym problem.
Kilka wskazówek znalazłem w necie.
<?
function edit($ile, $id_rejestru, $id_produktu, $id_obiektu, $ilosc, $ilosc_out)
{
echo "<form action=\"plik.php4\" method=\"POST\">"; echo "<table border=\"1\" align=\"center\">"; echo "<tr bgcolor=\"#cdcdd8\">"; echo "<td width=\"\">DATA WEJSCIA</td>"; echo "<td width=\"\">NAZWA</td>"; echo "<td width=\"\">JM</td>"; echo "<td width=\"\">ILOŚĆ</td>"; echo "<td width=\"\">DATA ZAKUPU</td>"; echo "<td width=\"\">ILOŚĆ DO PRZENIESIENIA</td>";
$i=0;
{
echo"<input type=\"hidden\" name=\"id_rejestru[$i]\" value=\"{$row['id_rejestru']}\">"; echo"<input type=\"hidden\" name=\"id_produktu[$i]\" value=\"{$row['id_produktu']}\">"; echo"<input type=\"hidden\" name=\"id_obiektu[$i]\" value=\"{$row['id_obiektu']}\">"; echo"<input type=\"hidden\" name=\"ilosc[$i]\" value=\"{$row['ilosc']}\">"; echo "<td width=\"\"><center>{$row['data_wejscia']}</center></td>"; echo "<td width=\"\">{$row['nazwa']} </td>"; echo "<td width=\"\">{$row['jm']}</td>"; echo "<td width=\"\">{$row['ilosc']}</td>"; echo "<td width=\"\"><center>{$row['data_faktura']}</center></td>"; echo "<td width=\"\"><input type=\"text\" name=\"ilosc_out[$i]\"></td>"; $i++;
}
echo"<input type=\"hidden\" name=\"ile\" value=\"$i\">"; echo"<input type=\"hidden\" name=\"elo\" value=\"zapisz\">"; echo"<input type=\"submit\" value=\"Zapisz do bazy\">";
}
function zapisz($ile,$id_rejestru,$id_produktu, $id_obiektu,$ilosc,$ilosc_out)
{
for( $i = 0; $i < $ile; $i++ )
{
if($ilosc_out[$i]>$ilosc[$i]):
echo "<script language='javascript'>"; echo "alert('za dużo!')"; echo "<META HTTP-EQUIV=\"refresh\" CONTENT=\"0; url=plik.php4\" > "; endif;
if ($ilosc_out[$i]>0 or
isset($ilosc_out[$i])): if ($ilosc_out[$i]<$ilosc[$i]):
$ilosc_pozostala[$i]=$ilosc[$i]-$ilosc_out[$i];
$result=@mysql_query("UPDATE ....... SET ilosc='$ilosc_pozostala[$i]' WHERE id_rejestru='$id_rejestru[$i]'
LIMIT 1");
$result1=@mysql_query("INSERT INTO ...... (id_produktu,id_obiektu,ilosc) VALUES ('$id_produktu[$i]','$id_obiektu2','$ilosc_out[$i]'");
elseif ($ilosc_out[$i]==$ilosc[$i]):
$ilosc_pozostala[$i]=$ilosc[$i]-$ilosc_out[$i];
$result=@mysql_query("UPDATE ..... SET ilosc='$ilosc_pozostala[$i]', archiwum='T' WHERE id_rejestru='$id_rejestru[$i]'");
$result1=@mysql_query("INSERT INTO ...... (id_produktu,id_obiektu,ilosc) VALUES ('$id_produktu[$i]','$id_obiektu2','$ilosc_pozostala[$i]'");
endif;
endif;
}
}
edit($ile,$id_rejestru,$id_produktu,$id_obiektu,$ilosc,$ilosc_out);
else:
zapisz($ile,$id_rejestru,$id_produktu,$id_obiektu,$ilosc,$ilosc_out);
endif;
?>
Mój kod zawiera jeszcze sprawdzenie czy zmienna "ilość do przeniesienia" jest mniejsza od stanu magazynowego i czy zmienna istnieje.
Reszta do analizy.
Jaq.