Ver Mensaje Individual
  #4 (permalink)  
Antiguo 06/06/2005, 13:14
rickwave
 
Fecha de Ingreso: mayo-2005
Mensajes: 10
Antigüedad: 18 años, 11 meses
Puntos: 0
Como no.
Pense que iba a ser largo. Pero el codigo completo de la pagina alta.php es :

<html>
<head>
<title>Agrega/Edita registros</title>
</head>
<body>
<?
global $salarti,$xfecha,$xcodart,$abor,$accion,$wfeold,$w feant,$toma,$tstock;
include("conec.php");
$conexion=Conectarse();
$tablax="movimientos";
$Diahora =date("Y-m-d H:i:s");
$abor=$HTTP_GET_VARS['opcion'];
$accion=$HTTP_GET_VARS['accion'];
$tit=explode('+',$abor);
$xfecha=$tit[1];
if ($abor=="") //Altas ya que puede venir de ver1 para editar
{
$result=mysql_query("SELECT * FROM $tablax ",$conexion) or die ("Invalid query");
$wartiold=' ';
$wpromold=' ';
$wcantold=1;
$wfeold=$Diahora;
}else{
$xcodart=substr($abor,0,strpos($abor,'+'));
$result=mysql_query("SELECT * FROM $tablax where (codart='$xcodart' and fecha='$xfecha') ",$conexion) or die ("Invalid query");
$wfeant=$xfecha; //fecha

$viene = mysql_fetch_array($result);
$wartiold=$viene[0]; //codart
$wpromold=$viene[2]; //
$wcantold=$viene[3]; //
$wstock = $viene[4]; //
$wstvirt=$viene[5]; //mstock
}

$result2=mysql_query("SELECT codart,descripcion,stock FROM articulos ",$conexion) or die ("Invalid query");
$rpromo=mysql_query("SELECT * FROM promo",$conexion) or die ("No ingresa a promotor");
$fields = mysql_num_fields($result);
$i = 0;
$te = mysql_field_table($result, $i);
echo"<p><b>FORMULARIO PARA ALTAS-EDICION - Tabla :</b>",$tablax,"</p>";
if ($toma[3]=="") {
if ($accion=="") { //altas
$wfeold=$Diahora;
}else{
$wfeold=$wfeant;
}
echo "<form name='calcform'><action='altas.php3' method='Get'>";
echo "<table align=center border=2 bordercolor=#0000FF bgcolor=#CCFFCC >";
for ($i=0;$i<$fields-2;$i++) //aca empiezo asignar a todos los campos
{
$nome[$i] = mysql_field_name ($result, $i);
$largo=mysql_field_len($result,$i); ///largo del campo
switch ($i) {
case 0 : #si el campo codarticulo
echo "<td align=center>",strtoupper($nome[$i]),"</td>";
echo "<td align=center>";
echo"<input type='text' name='warti' value='$wartiold' size=$largo>";
echo "<select name='artsel' onClick='changecontent()'>";
while($salarti = mysql_fetch_array($result2))
{
// echo "<option value='$salarti[0]'>$salarti[0]=>$salarti[1] ¦Stock Actuál :$salarti[2]</option>";
echo "<option value='$salarti[0].$salarti[2]'>$salarti[0]=>$salarti[1] ¦Stock Actuál :$salarti[2]</option>";
}
$tstock=$salarti[2];
echo "</select>";
echo"</td></tr>";
break ;
case 1 : //fecha
echo "<td align=center>",strtoupper($nome[$i]),"</td>";
echo "<td align=center> <input type='text' name=toma[1] value='$wfeold' size=$largo >";
echo"</td><br></tr>";
break ;
case 2 : //promotor
echo "<td align=center>",strtoupper($nome[$i]),"</td>";
echo "<td align=center> ";
echo"<input type='text' name='wpromo' value='$wpromold' size=$largo>";
echo "<select name='prosel' onClick='changepro()'>";
while($selpromo = mysql_fetch_array($rpromo))
{
echo "<option value='$selpromo[0]'>$selpromo[0]=>$selpromo[1]</option>";
}
echo "</select>";
echo"</td><br></tr>";
break ;
}
}
//////////esto es para el ultimo campo
// $nome[$i] = mysql_field_name ($result, $fields-1);
echo "<td align=center>CANTIDAD VENDIDA</td>";
echo "<td align=center><input type='text' value='$wcantold' onClick='checkvalor()' name='toma[3]' size=$largo></td><br></table>";

// echo "<td align=center>Nuevo Stock</td>"; no lo muestro
// echo "<td align=center> <input type='text' onChange='changst()' name=toma[4] value='$wstvirt' size=$largo ></td><br></table>";
echo"<p></p>";

//echo"<div align='center'>";
echo"<center><table border='2'>";
echo"<td align=center>";
echo"<input type='hidden' value='$accion' name='accion'>";
echo"<input type='hidden' value='$wfeant' name='wfeant'>";
echo"<input type='hidden' value='$salarti[2]' name='tstock'>";
echo"<input type='submit' onClick='novacio();changecontent();checkvalor()' align=center name='xx' value='Grabar'";
echo"<input type=reset name='res'></td></form>";
echo"</table></center>";
//</div>";


}else{
$oki=insert();
$toma[3]=="";
}

?>
<form action='menuok.php'>
<p align="center"><input type=image src='./imagenes/mppal.jpg' alt='Vuelve al Menu Ppal' name='ixx'></form>
<form method='POST' action='abm.php3'>
<p align="center"><input type='submit' value='Volver' name='inicio'></form>
</Form>


<?

function insert(){
global $toma,$Diahora,$conexion,$artsel,$prosel,$salarti, $warti,$wfeant,$wfeold,$result,$result2,$wpromo,$x fecha,$xcodart,$abor,$accion;
// strstr ($email, '@'); // devuelve desde que aparece hasta el final
// strpos($artsel,'=') devuelve la posicion en que encuentra el 2do arg
// $newcodi=substr($artsel,0,strpos($artsel,'='));
// $newpromo=substr($prosel,0,strpos($prosel,'='));
//echo"newpromo vale $newpromo";
// $field1 = $newcodi;

$field1 = $warti;
$field2 = $toma[1];
$field3 = $wpromo;
$field4 = $toma[3]; //cant vend
while($salarti = mysql_fetch_array($result2))
{
if ($salarti[0]==$field1)
{
$nstock=$salarti[2]-$field4; // descuento la cant al stock actual
}
}

if ($accion=="") { // altas
if ($field2=="") {
$field2= date("Y-m-d H:i:s");
}
if($field1 == "") {echo "'Codart' es clave no puede estar vacio"; exit;}
mysql_query("Insert into movimientos (codart, fecha,codpromo,cant,mstock) values ('$field1','$field2','$field3','$field4','$nstock' )",$conexion) or die ('No pudo ingresar el Alta');
#comprobamos el resultado de la insercion
# el error CERO significa NO ERROR
# el error 1062 significa Clave duplicada
# en otros errores forzamos a que nos ponga el número de error
# y el significado de ese error (aunque sea en ingles)....
if (mysql_errno($conexion)==0){echo "<h2>Registro AGREGADO</b></H2>";
}else{
if (mysql_errno($conexion)==1062){echo "<h2>No ha podido añadirse el registro<br>Ya existe un campo con este CODIGO</h2>";
}else{
$numerror=mysql_errno($conexion);
$descrerror=mysql_error($conexion);
echo "Se ha producido un error nº $numerror que corresponde a: $descrerror <br>";
}
}
//actualizo stock de articulos
while($salarti = mysql_fetch_array($result2))
{
if ($salarti[0]==$field1) {
$nstock=$salarti[2]-$field4; // descuento la cant al stock actual
}
}

mysql_query("update articulos set stock='$nstock' where codart='$field1'" ,$conexion) or die ('No pudo ingresar el Alta');


echo"<form method='POST' action='altas.php3'><input type=image src='./imagenes/CONTINUA.jpg' alt='Permite dar otro Alta' name='ixx'></form>";
}else{ //es EDITAR

$sql=("Update movimientos set codart='$field1',fecha ='$field2' ,codpromo='$field3',cant='$field4' where (codart='$warti' and fecha='$wfeant') ");

//$sql=("update $tablax set Codart=" . (($Codart != "") ? "'$Codart'" : "NULL") . ", Descripcion=" . (($Descripcion != "") ? "'$Descripcion'" : "NULL") . ", stock=" . (($stock != "") ? "'$stock'" : "$stock") . ", cant=" . (($cant != "") ? "'$cant'" : "NULL") . ", fultcpra=" . (($fultcpra != "") ? "'$fultcpra'" : "NULL") . " where Codart='$abor'");
$xresult = mysql_query($sql) or die ('No pudo Modificar el registro');

}
}
# cerramos la conexion
mysql_free_result($result);
mysql_close($conexion);

?>

<script language="JavaScript" type="text/javascript">
function changecontent(){
var xxx = document.calcform.artsel.value;
separar=xxx.split('.');
document.calcform.warti.value=separar[0];
document.calcform.tstock.value=separar[1];
}
function changepro(){
document.calcform.wpromo.value=document.calcform.p rosel.value
}
function changst(){
document.calcform.$wstvirt.value=document.calcform .wcantold.value
}

function checkvalor(){
var el = document.calcform.elements;
for (var i = 0 ; i < el.length ; ++i) {
if(el[i].name=='toma[3]') {
var posic=i;
var compro=el[i].value;
}
if(el[i].name=='tstock') {
var tiene=el[i].value;
}
}
if(parseInt(compro)>parseInt(tiene) || compro==0) {
alert('No hay stock disponible,solicitelo al Administrador');
el[posic].value="";
el[posic].focus();
return (false);
}
}

function novacio(){
var el = document.calcform.elements;
for (var i = 0 ; i < el.length ; ++i) {
switch (el[i].name) {
case "warti" :
if(el[i].value==' ') {
alert('No puede estar vacio el campo Articulo');
el[i].focus();
el[5].value="" /////////cantidad
break;}
case "toma[1]" : /////////fecha
if(el[i].value=='') {
alert('No puede estar vacio la Fecha');
el[i].focus();
el[5].value=""
break;}
case "toma[3]" :
if(el[i].value==' ') {
alert('No puede estar vacio la cantidad');
el[i].focus();
break;}
default :
}
}
}
</script>
</body></html>