Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Mysql »

Sumar y restar numeros con PHP

Estas en el tema de Sumar y restar numeros con PHP en el foro de Mysql en Foros del Web. Hola gente! Tengo un problemita que me esta quemando la cabeza desde hace dias. Tengo una base de datos con 4 campos: item_no, qty_on_hand, qty_on_ord, ...
  #1 (permalink)  
Antiguo 30/08/2010, 15:02
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 13 años, 8 meses
Puntos: 0
Sumar y restar numeros con PHP

Hola gente!
Tengo un problemita que me esta quemando la cabeza desde hace dias.
Tengo una base de datos con 4 campos:

item_no, qty_on_hand, qty_on_ord, qty_allocated

Dentro de los registros de mis campos hay varios cientos de filas donde las cantidades y valores varian siempre, principalmente (item_no).

Por ejemplo:

│ item_no (AAA-100-10)│ qty_on_hand (30)│ qty_on_ord (10)│ qty_allocated (10)│


Temgo mi codigo PHP que meidante (include) se conecta a mi base de datos desde otro archivo PHP, recoje esos valores relacionados con la busqueda del usuario y los muestra en una pagina html.

Hasta ahi voy bien, pero me gustaria agregar a mi PHP otra columna que muestre un total calculado, por ejemplo:

qty_on_hand (30)│ qty_allocated (10)│ Total (40)

A continuacion les paso el codigo que tengo hasta ahora haber si me pueden dar una manito

Código PHP:
<html>
<head>
  <title>Inventory Query</title>
  <style type="text/css">
  
  h1 {
      font:Arial, Helvetica, sans-serif;
      font-size:16px;
      width: 450px;
      background-color:#FBB;
  }
      
  table {
      background-color:#FF0;
  }
  
  th {
      width: 220px;
      text-align: left;
  }
  
  </style>
 </head>
<body>
<h1>National Tree - Inventory Query</h1>

<form method="post" action="inventory.php">
<input type="hidden" name="submitted" value="true" />

<label>Enter Item Number:<input type="text" name="criteria" /></label>

<input type="submit" />

</form>

<?php

if (isset($_POST['submitted'])) {
// connect to the database
include('xxxxxxx.php');

$upc 'item_no';
$criteria $_POST['criteria'];
$query =  "SELECT * FROM IMINVLOC_SQL WHERE $upc LIKE '%".$criteria."%'";
$result mysqli_query($dbcon$query) or die('error getting data');
$num_rows mysqli_num_rows($result);

echo 
"$num_rows results found";
echo 
"<table>";
echo 
"<tr> <th>Item Number</th> <th style='text-align:right'>Qty On Hand</th> <th style='text-align:right'>Qty On Order</th> <th style='text-align:right'>Qty Allocated</th> </tr>";

while (
$row mysqli_fetch_array($resultMYSQLI_ASSOC)) {

    echo 
"<tr><td>";
    echo 
$row ['item_no'];
    echo 
"</td><td style='text-align:right'>";
    echo 
$row ['qty_on_hand'];
    echo 
"</td><td style='text-align:right'>";
    echo 
$row ['qty_on_ord'];
    echo 
"</td><td style='text-align:right'>";
    echo 
$row ['qty_allocated'];
    echo 
"</td></tr>";
    
}

echo 
"</table>";
    
    
    
// end of main statment

?>
<br>
Please don't use (space) on your Criteria!
</body>
</html>
Si les interesa el codigo obviamente que lo pueden usar para su propio probecho y si quieren ver que es lo que muestra mi HTML al realizar una busqueda en el mismo, solo cliqueen [URL="http://nationaltree.com/stock/inventory.php"]aqui[/URL].

Desde ya muchas gracias a todos!!!!
  #2 (permalink)  
Antiguo 30/08/2010, 15:23
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Sumar y restar numeros con PHP

En este foro no debes escribir código PHP. Está prohibido.
Pero lo que quieres puedes lograrlo con una consulta:

SELECT item_no, qty_on_hand, qty_allocated, (qty_on_hand + qty_allocated) Total FROM IMINVLOC_SQL

Eso si sólo hay un registro para cada item_no. Si hay varios, tendrás que usar GROUP BY y SUM
SELECT item_no, SUM(qty_on_hand) qty_on_hand, SUM(qty_allocated) qty_allocated, (SUM(qty_on_hand) + SUM(qty_allocated)) Total FROM IMINVLOC_SQL group by item_no

Tendrás que probarlo primero y luego adaptarlo al PHP, poniendo tus variables y criterios, pero esta es la idea.
  #3 (permalink)  
Antiguo 30/08/2010, 16:48
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Sumar y restar numeros con PHP

Disculpen por lo del código, la verdad no tenia idea así que si les parece lo pueden quitar!
Gracias por la respuesta y voy a ver si pruebo lo que me dices, ahora una cosa mas que no me queda clara.
Veo que en el ejemplo que me pasaste intentas sumar valores, ahora como seria si quisiera sumar y a la ves restar valores entre 3 diferentes campos.

Por ejemplo:

qty_on_hand (30) + qty_on_ord (10) - qty_allocated (15)

La verdad no si siquiera si es posible pero si lo es, sera que me podrían explicar como seria mas o menos?

Una cosa mas, mi campo (item_no) no sera usado en la suma o resta de mi PHP ya que solo es el numero UPC de mis productos y no cantidades.

Muchas gracias!!

Última edición por aeroplane10; 31/08/2010 a las 07:09
  #4 (permalink)  
Antiguo 31/08/2010, 07:42
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Sumar y restar numeros con PHP

No me has entendido todo. Mi pregunta era si ese campo item_no tiene valores repetidos en esa tabla, es decir, si hay varios registros que tienen el mismo item_no. Si es así, tendrás que usar el group by y los SUM. Pero si sólo hay uno por tabla, te bastará con la primera consulta. Sobre la resta, te diré que también puede hacerse y que se hace igual que la suma, pero con -, como tú has sugerido.
  #5 (permalink)  
Antiguo 31/08/2010, 09:22
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Sumar y restar numeros con PHP

Hola Jurena, tal y como puse en mi post original mi campo item_no contiene varios cientos de registros y cada uno es diferente.
Ahora, podrías ser un poco mas especifico con respecto a la solución que sugieres?
Viendo mi código, como lo adaptarías tu para mostrar los totales?
Gracias!

Última edición por aeroplane10; 31/08/2010 a las 09:38
  #6 (permalink)  
Antiguo 31/08/2010, 12:13
Colaborador
 
Fecha de Ingreso: marzo-2008
Ubicación: Cáceres
Mensajes: 3.735
Antigüedad: 16 años, 1 mes
Puntos: 300
Respuesta: Sumar y restar numeros con PHP

$query = "SELECT item_no, qty_on_hand, qty_allocated, (qty_on_hand + qty_allocated) Total FROM IMINVLOC_SQL WHERE $upc LIKE '%".$criteria."%'";
pido excusas por el código PHP.
Luego recuperas la suma de qty_on_hand + qty_allocated añadiendo un
echo $row ['Total'] con el código HTML pertinente; si quieres sumar más campos, sólo tienes que añadirlos con + dentro del paréntesis
  #7 (permalink)  
Antiguo 31/08/2010, 12:34
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Sumar y restar numeros con PHP

Si quisiera recuperar dos totales diferentes con diferentes combinaciones tendría que tener 1 query para cada calculo o se pueden hacer dos cálculos en el mismo query?

Por ejemplo:

qty_on_hand - qty_allocated = total ?

y

qty_on_hand + qty_on_ord - qty_allocated = total?

Gracias!
  #8 (permalink)  
Antiguo 31/08/2010, 12:51
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Respuesta: Sumar y restar numeros con PHP

Sólo agregar otra columna.

select ... (qty_on_hand - qty_allocated) as total1,
(qty_on_hand + qty_on_ord - qty_allocated) as total2
from ...
  #9 (permalink)  
Antiguo 31/08/2010, 13:26
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Sumar y restar numeros con PHP

Muchísimas gracias a los dos (jurena y claudiovega), son unos genios!!
La ayuda de Uds. dos combinada funciono de pelos, les debo unas buenas birras a los dos, si algún día andan por New York me avisan y yo pago los tragos, lol!

Muchas gracias otra vez y pasarlo bien!!
  #10 (permalink)  
Antiguo 03/09/2010, 13:23
 
Fecha de Ingreso: agosto-2010
Mensajes: 6
Antigüedad: 13 años, 8 meses
Puntos: 0
Respuesta: Sumar y restar numeros con PHP

Hola gente de nuevo!
Una preguntita mas, como debería hacer si el total de la resta me da un numero negativo para que en lugar de mostrar ese numero negativo, muestre cero (0)?
Muchas gracias!!
  #11 (permalink)  
Antiguo 03/09/2010, 16:10
Avatar de claudiovega  
Fecha de Ingreso: octubre-2003
Ubicación: Puerto Montt
Mensajes: 3.667
Antigüedad: 20 años, 6 meses
Puntos: 11
Respuesta: Sumar y restar numeros con PHP

Código:
 select ..., if((campo1-campo2)>=0,campo1-campo2,0) as total from ...

Etiquetas: numeros, php, restar
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 03:39.