Foros del Web » Programando para Internet » PHP »

PHP OO Inventario en php y mysql

Estas en el tema de Inventario en php y mysql en el foro de PHP en Foros del Web. Hola,de antemano les doy las gracias por dedicar tiempo en mi mensaje.... les comento que soy nuevo en esto de php y estoy creando un ...
  #1 (permalink)  
Antiguo 04/12/2012, 22:25
 
Fecha de Ingreso: diciembre-2012
Mensajes: 16
Antigüedad: 12 años
Puntos: 0
Inventario en php y mysql

Hola,de antemano les doy las gracias por dedicar tiempo en mi mensaje....
les comento que soy nuevo en esto de php y estoy creando un sistema basico de inventario de una tienda, mi problema es tengo 3 tablas articulos, ventas, ventasunidad. en ventas unidad se van agregando los registros de la venta que se va a realizar y al dar clik en el boton vender lo primero que se hace es que me pasa todos los registros de ventasuni a ventas en un solo registro despues lo que quiero es revajar de la tabla articulos los articulos vendidos y despues se borra todos los registros de la tabla ventauni para realizar otra venta........ Bueno todo me sale bien solo que mi problema es que solo me revaja un registro del inventario, por ejemplo si se venden 3 cosas solo me revaja la cantidad de un solo registro y los otros dos no... no se si me di a entender bueno este es mi codigo gracias por sus comentarios o respuestas....



if ($_POST['seleccion'] == 'vender')
{
$rg=mysql_query(" SELECT * FROM ventasunidad",$conexion) or
die("Problemas en el select:".mysql_error());


while($rs=mysql_fetch_array($rg))
{
$nombre=$rs['Nombre'];
$cantidadr=$rs['cantidaduni'];
}
$rt=mysql_query("select * from articulos
where Nombre='$nombre'",$conexion) or
die("Problemas en el select:".mysql_error());

if ($rg=mysql_fetch_array($rt))
{
$existenciat=$rg['existencia']-$cantidadr;
}
$registros=mysql_query("update articulos
set existencia=' $existenciat'
where Nombre='$nombre'",$conexion) or
die("Problemas en el select:".mysql_error());


$registros=mysql_query(" SELECT * FROM ventasunidad",$conexion) or
die("Problemas en el select:".mysql_error());

$totalventa=0;
$ventasu2=" ";
while($rs=mysql_fetch_array($registros))
{
$espacio= " ";
$ventasu= $rs['Nombre'].$espacio.$rs['Precio'].$espacio.$rs['cantidaduni'].$espacio.$rs['importe']. $espacio. $espacio. $espacio;
$ventasu2=$ventasu2.$ventasu;
$totalventa=$totalventa+ $rs['importe'];
}


mysql_query("INSERT INTO ventas (descripcion, total)
VALUES ('$ventasu2','$totalventa')", $conexion);


mysql_query("delete from ventasunidad",$conexion) or
die("Problemas en el select:".mysql_error());



}
  #2 (permalink)  
Antiguo 05/12/2012, 09:27
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 9 meses
Puntos: 33
Respuesta: Inventario en php y mysql

En que momento de tu delete le indicas que elimine "x" elementos. Vaya no observo un where.


Código PHP:
mysql_query("delete from ventasunidad",$conexion) or
die(
"Problemas en el select:".mysql_error()); 
Saludos.
  #3 (permalink)  
Antiguo 05/12/2012, 10:25
Avatar de oscartt67  
Fecha de Ingreso: abril-2012
Ubicación: fonollosa
Mensajes: 481
Antigüedad: 12 años, 8 meses
Puntos: 97
Respuesta: Inventario en php y mysql

Creo que Mauled te da la solución correcta.
Queria señalarte que tu sistema no soporta multiusuario. Si dos personas estan comprando a la vez, tu script no es capaz de diferenciar las dos compras. Te sujiero que en lugar de la tabla vendas_unidad, uses un array guardado en una sesión.

Saludos.
  #4 (permalink)  
Antiguo 05/12/2012, 19:32
 
Fecha de Ingreso: diciembre-2012
Mensajes: 16
Antigüedad: 12 años
Puntos: 0
Respuesta: Inventario en php y mysql

gracias x sus respuestas!!
Manueld te comento que no puse el codigo del delete porque todo eso si me funciona lo unico que no me funciona es que a la hora de hacer la venta rebaje de la tabla articulo registro por registro todo de la tabla ventasunidad y lo que me sale es que solo revaja uno y los demas registros de la tabla ventasunidad no, mi idea es que busque en la tabla articulo registro x registro y que los rebaje de la tabla articulos despues que me los agregue a la tabla ventas pero todos los campos en la tabla ventas van en uno solo que se llama descripcion y despues eliminar todo de la tabla ventasunidad, todo esto si me sale lo unico que no es que solo me revaja un registro....... bueno ahora si pongo todo el codigo de lo que comente aver si me pueden ayudar gracias!!!!

if ($_POST['seleccion'] == 'vender')
{
$rg=mysql_query(" SELECT * FROM ventasunidad",$conexion) or
die("Problemas en el select:".mysql_error());

while($rs=mysql_fetch_array($rg))
{

$nombre=$rs['Nombre'];
$cantidadr=$rs['cantidaduni'];
}

$rt=mysql_query("select * from articulos
where Nombre='$nombre'",$conexion) or
die("Problemas en el select:".mysql_error());

if ($rg=mysql_fetch_array($rt))
{
$existenciat=$rg['existencia']-$cantidadr;
}
$registros=mysql_query("update articulos
set existencia=' $existenciat'
where Nombre='$nombre'",$conexion) or
die("Problemas en el select:".mysql_error());






$registros=mysql_query(" SELECT * FROM ventasunidad",$conexion) or
die("Problemas en el select:".mysql_error());

$totalventa=0;
$ventasu2=" ";
while($rs=mysql_fetch_array($registros))
{
$espacio= " ";
$ventasu= $rs['Nombre'].$espacio.$rs['Precio'].$espacio.$rs['cantidaduni'].$espacio.$rs['importe']. $espacio. $espacio. $espacio;
$ventasu2=$ventasu2.$ventasu;
$totalventa=$totalventa+ $rs['importe'];
}


mysql_query("INSERT INTO ventas (descripcion, total)
VALUES ('$ventasu2','$totalventa')", $conexion);


mysql_query("delete from ventasunidad",$conexion) or
die("Problemas en el select:".mysql_error());



}


mysql_close($conexion);
?>
  #5 (permalink)  
Antiguo 05/12/2012, 19:34
 
Fecha de Ingreso: diciembre-2012
Mensajes: 16
Antigüedad: 12 años
Puntos: 0
Respuesta: Inventario en php y mysql

Hola oscar 67 gracias por tu respuesta te comento que mi sistema es para una tienda establecida lo cual creeo que no es necesario que soporte multiusuario porque las ventas son de una x una.. gracias de cualquier manera x tu respuesta

Etiquetas: inventario, mysql, registro, sql, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:49.