Foros del Web » Programando para Internet » PHP »

Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Estas en el tema de Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL en el foro de PHP en Foros del Web. Hola a todos.. este es mi primer post.. y pues fue precisamente para esto que lo cree.. pasa que estoy haciendo un proyecto en mi ...
  #1 (permalink)  
Antiguo 13/03/2013, 17:54
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 1 mes
Puntos: 0
Pregunta Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Hola a todos.. este es mi primer post.. y pues fue precisamente para esto que lo cree.. pasa que estoy haciendo un proyecto en mi universidad sobre un sistema web que pueda manejar las ventas, registro de ventas e inventario de una panaderia, el sistema suena y se ve simple pero lo que me pasa es lo siguiente:

Por ahora la base de datos es de una tabla, luego implementare la del inventario, pero la que uso por ahora es una llamada Venta pan y tiene los campos:

['id_venta'], "int"),
['cantidad_concha'], "int"),
['cantidad_virote'], "int"),
['cantidad_pastel'], "int"),
['cantidad_empanada'], "int"),
['cantidad_pizza'], "int"),
['ganancia'], "text"),
['cliente'], "text"),
['fecha'], "date"));

Estos campos los uso en el registro de ventas que no es mas que un formulario para enviar estos datos, lo que quiero hacer es que cuando llene los datos campos de cantidad de cada tipo de pan.. estos tengan por asi decirlo un cierto valor para que por ejemplo cuando ponga 3 en cantidad de concha ese 3 se multiplique por el valor de la concha por ejemplo 2 pesos y en el campo ganancia esto lo vaya sumando, apareciendo 6 en el campo.. no se si me explico.. y no se realmente si esto se pueda hacer..

Espero que me puedan ayudar.. estoy usando Wampserver como servidor local y Dreamweaver CS5.. el codigo que tengo a la hora de registrar el producto es mas o menos esto:

Código:
<?php require_once('Connections/lola.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "") 
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) {
  $insertSQL = sprintf("INSERT INTO ventapan (id_venta, cantidad_concha, cantidad_virote, cantidad_pastel, cantidad_empanada, cantidad_pizza, ganancia, cliente, fecha) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       GetSQLValueString($_POST['id_venta'], "int"),
                       GetSQLValueString($_POST['cantidad_concha'], "int"),
                       GetSQLValueString($_POST['cantidad_virote'], "int"),
                       GetSQLValueString($_POST['cantidad_pastel'], "int"),
                       GetSQLValueString($_POST['cantidad_empanada'], "int"),
                       GetSQLValueString($_POST['cantidad_pizza'], "int"),
                       GetSQLValueString($_POST['ganancia'], "text"),
                       GetSQLValueString($_POST['cliente'], "text"),
                       GetSQLValueString($_POST['fecha'], "date"));

  mysql_select_db($database_lola, $lola);
  $Result1 = mysql_query($insertSQL, $lola) or die(mysql_error());

  $insertGoTo = "Registro e inventario.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?";
    $insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $insertGoTo));
}
?>
  #2 (permalink)  
Antiguo 13/03/2013, 18:06
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Programación off-topic de MySQL.
Muevo a Foro de PHP.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #3 (permalink)  
Antiguo 13/03/2013, 18:26
Avatar de Reedyseth  
Fecha de Ingreso: enero-2009
Ubicación: Chihuahua, México
Mensajes: 419
Antigüedad: 15 años, 2 meses
Puntos: 36
Respuesta: Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Como ya traes en tu post el valor y la cantidad te sugiero que guardes en otra variable este calculo y ya despues hagas el insert con ese valor calculado.
__________________
Reedyseth
Te ayudo? No olvides dar un +
blog:http://behstant.com/blog
En el blog:Tutoriales de Desarrollo Web PHP, Javascript, BD y más.
  #4 (permalink)  
Antiguo 13/03/2013, 18:51
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Cita:
Hola a todos.. este es mi primer post.. y pues fue precisamente para esto que lo cree..


Bueno sin comentarios esa parte. Ahora si vayamos a la parte del problema.

Código MySQL:
Ver original
  1. ['id_venta'], "int"),
  2. ['cantidad_concha'], "int"),
  3. ['cantidad_virote'], "int"),
  4. ['cantidad_pastel'], "int"),
  5. ['cantidad_empanada'], "int"),
  6. ['cantidad_pizza'], "int"),
  7. ['ganancia'], "text"),
  8. ['cliente'], "text"),
  9. ['fecha'], "date"));

En este apartado veo que tienes un problema que deberias considerar. En esta tabla estas haciendo un mal diseño de las base de datos. Imaginate que en un sistema real (y no un ejercicio didáctico) te llega un nuevo producto (pan frances, pan de coco,blandito, etc) Si tu sistema tiene que expanderse no es practico que guardes por cada campo una cantidad de un producto diferente. Seria una locura completa mantener este sistema.

A mi se me ocurre que tengas un tabla con los distintos productos (id_producto,nombre_producto,precio,etc,etc,etc) y otra tabla que a través de un id de producto puedas hacer la relación entre la cantidad del producto y el producto. De esta manera no solo puedes hacer mas facil tu operación de precio*cantidad de producto con una simple sentencia sql sino que ademas garantizas la integridad de tu tabla.
__________________
Blog de humor http://elcuasatar.net63.net/
  #5 (permalink)  
Antiguo 13/03/2013, 18:58
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Cita:
Iniciado por cuasatar Ver Mensaje


Bueno sin comentarios esa parte. Ahora si vayamos a la parte del problema.

Código MySQL:
Ver original
  1. ['id_venta'], "int"),
  2. ['cantidad_concha'], "int"),
  3. ['cantidad_virote'], "int"),
  4. ['cantidad_pastel'], "int"),
  5. ['cantidad_empanada'], "int"),
  6. ['cantidad_pizza'], "int"),
  7. ['ganancia'], "text"),
  8. ['cliente'], "text"),
  9. ['fecha'], "date"));

En este apartado veo que tienes un problema que deberias considerar. En esta tabla estas haciendo un mal diseño de las base de datos. Imaginate que en un sistema real (y no un ejercicio didáctico) te llega un nuevo producto (pan frances, pan de coco,blandito, etc) Si tu sistema tiene que expanderse no es practico que guardes por cada campo una cantidad de un producto diferente. Seria una locura completa mantener este sistema.

A mi se me ocurre que tengas un tabla con los distintos productos (id_producto,nombre_producto,precio,etc,etc,etc) y otra tabla que a través de un id de producto puedas hacer la relación entre la cantidad del producto y el producto. De esta manera no solo puedes hacer mas facil tu operación de precio*cantidad de producto con una simple sentencia sql sino que ademas garantizas la integridad de tu tabla.

Ok ya.. si me lo habian recomendado.. pero no hay ninguna forma para que pueda hacer lo que quiero con lo que tengo por ahora?
  #6 (permalink)  
Antiguo 13/03/2013, 19:19
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Cita:
Ok ya.. si me lo habian recomendado.. pero no hay ninguna forma para que pueda hacer lo que quiero con lo que tengo por ahora?
Si Moises dividio el mar rojo con su báculo creeme que tu puedes hacer lo que quieres Sin embargo como dijo el Doctor Brown a Marty McFly aun no estas pensando en la cuarta dimensión.

Si tu tienes una tabla donde registras cada venta con campos como

id producto precio cantidad_vendida total (donde total es tan sencillo como hacer el calculo del producto*cantidad,valores que obtienes del formulario donde realizas la compra) cuando alguien te pida la cantidad total de ventas no tienes que ir acumulando valores. Simplemente con una funcion SUM de Mysql puedes obtener el valor de todas las ventas de la tabla y puedes ademas mirar la cantidad vendida de pan rollito, pan frances, pan de canela, etc a punta de sentencias sql sin dañar la integridad de los datos. Recuerda que el sistema debe ser robusto y no solo para pasar una materia. En una tienda real te van a pedir cuantas pizzas vendiste y si las ganancias son minimas pues sacan a ese producto de la venta porque no compensa prepararlo para no venderlo.
__________________
Blog de humor http://elcuasatar.net63.net/
  #7 (permalink)  
Antiguo 13/03/2013, 19:32
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Bien entonces.. a la mierda eso, haré como dices, una tabla para cada tipo de pan con su id, nombre, precio y cantidad, ademas de una tabla donde se maneje la venta y donde pueda relacionar las demas tablas no? serian todas las tablas?

PD: Bueno bueno esto ya parece una clase en la uni XDDD disculpa tantas molestias compañero :C
  #8 (permalink)  
Antiguo 13/03/2013, 19:42
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Bueno, te sugiero que hagas dos tablas (igual revisa lo que te digo, yo lo pienso asi de rapidez)

Una de productos que tenga id_producto, nombre_producto,precio_producto y otra de ventas donde tenga id_producto, cantidad_vendida y total venta (que sera el calculo de los campos precio_producto y cantidad vemdida). Si lo quieres complicar mas le puedes colocar_fecha_venta, y mas que para complicar un ejercicio creeme que no existen limites.

Con id_producto relacionas ambas tablas y realizas la operación.

p.s. Dime como cuadro con tu profesor para que me de la nota por el trabajo Mentiras, espero te sirva de guia para hacer tu trabajo.
__________________
Blog de humor http://elcuasatar.net63.net/
  #9 (permalink)  
Antiguo 13/03/2013, 19:51
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Ok suena bien.. pero aca el problema es que.. tengo que poner varios productos en una sola venta.. y con esas dos tablas solo venderia un producto no es asi?
  #10 (permalink)  
Antiguo 13/03/2013, 20:04
Avatar de cuasatar  
Fecha de Ingreso: junio-2011
Ubicación: Bogotá Rock City
Mensajes: 1.230
Antigüedad: 12 años, 10 meses
Puntos: 181
Respuesta: Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Bueno, la ultima ayuda que me voy a ver videos de you tube. Sigues sin pensar en la cuarta dimensión. Lo que te sugeri fue rapido pero tu puedes crear un campo en ventas donde tengas un id_de_venta y cuyo valor tiene que ser unico (podria ser la hora y fecha pasada por md5 para crear un id unico) y a esos productos que vendes les asignas ese id unico. Cuando empiezas una nueva venta generas otro id_venta. Creo que no sobra decir que ese id lo debes guardar como un dato de sesión para que no pierdas su valor mientras se hace la compra y se lo asignes a los productos. Al final de cuentas mi idea de la fecha no era tan mala despues de todo

No digo que mi idea sea lo mejor o lo peor, solo lo digo como se me ocurre asi de afan. Veo que estas muy crudo con eso de creación de base de datos relacionales. No te sobraria que te pegaras una repasada.

Bueno, ahora si oficialmente me retiro del tema. Suerte con eso. Yo pongo las ideas, tu pon tu talento.
__________________
Blog de humor http://elcuasatar.net63.net/

Última edición por cuasatar; 13/03/2013 a las 21:48
  #11 (permalink)  
Antiguo 14/04/2013, 16:30
 
Fecha de Ingreso: marzo-2013
Mensajes: 5
Antigüedad: 11 años, 1 mes
Puntos: 0
Respuesta: Operaciones de suma y sustracción en Dreamweaver con PHP y MYSQL

Ok, despues de unas pequeñas vacaciones y de seguir con lo mismo (que barbaridad) eh replanteado mi base de datos con la ayuda de un maestro y ahora a quedado mas o menos asi mi duda, a la hora de registrar una venta, se cuenta con varios campos a llenar (id_venta, conchas, virotes, empanadas, pastel, pizza, fecha) ademas de un campo llamado costototal, aqui va el problema, los campos de cada pan es decir conchas, virotes, empanadas, pastel, pizza y fecha ya tienen ciertas características cada uno almacenadas dentro de otra tabla que tiene sus registros con (id_inventario, producto, costo, cantidad_inicial, cantidad_final, total_venta). Lo que busco hacer es, que cuando esté realizando una venta, los campos de cada pan tengan como costo por defecto, el costo que les asigne en la otra tabla donde estan registrados (costo) para que al llevar acabo una venta si la cantidad de conchas a vender es de 3, este se multiplique por su costo y guarde un total para despues sumarlo con el total de los otros panes, me explico? además tambien tengo que lograr que la cantidad de panes que venda en una venta (valga la redundancia) se resten a los que se tienen en el inventario (cantidad_inicial, cantidad_final), bueno espero estarme explicando.. espero... y una disculpa por revivir el tema :c

Etiquetas: dreamweaver, mysql, wampserver
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 21:27.