Foros del Web » Programando para Internet » PHP »

Multiple suma

Estas en el tema de Multiple suma en el foro de PHP en Foros del Web. Buenos dias, mi problema es el siguiente: Tengo 4 tablas, una de asesores Código HTML: <table border='1'> <tr> <td> idasesor </td> <td> nombre </td> </tr> ...
  #1 (permalink)  
Antiguo 10/04/2019, 09:33
 
Fecha de Ingreso: marzo-2004
Mensajes: 187
Antigüedad: 15 años, 2 meses
Puntos: 1
Multiple suma

Buenos dias, mi problema es el siguiente:
Tengo 4 tablas, una de asesores

Código HTML:
<table border='1'>
<tr><td>idasesor</td><td>nombre</td></tr>
<tr><td>1</td><td>Juan</td></tr>
<tr><td>2</td><td>Pedro</td></tr>
<tr><td>3</td><td>Luis</td></tr>
</table> 
una tabla de clientes y cada cliente corresponde a un asesor
Código HTML:
<table border='1'>
<tr><td>idcliente/td><td>idasesor</td><td>nombrecliente</td></tr>
<tr><td>1</td><td>1</td><td>Cliente 1</td></tr>
<tr><td>2</td><td>2</td><td>Cliente 2</td></tr>
<tr><td>3</td><td>1</td><td>Cliente 3</td></tr>
<tr><td>4</td><td>2</td><td>Cliente 4</td></tr>
<tr><td>5</td><td>2</td><td>Cliente 5</td></tr>
<tr><td>6</td><td>2</td><td>Cliente 6</td></tr>
<tr><td>7</td><td>3</td><td>Cliente 7</td></tr>
<tr><td>8</td><td>1</td><td>Cliente 8</td></tr>
<tr><td>9</td><td>3</td><td>Cliente 9</td></tr>
</table> 
una tabla de productos con su respectivo precio
Código HTML:
<table border='1'>
<tr><td>idproducto/td><td>nombreproducto</td><td>precioproducto</td></tr>
<tr><td>1</td><td>Producto 1</td><td>1000</td></tr>
<tr><td>2</td><td>Producto 2</td><td>1200</td></tr>
<tr><td>3</td><td>Producto 3</td><td>1850</td></tr>
<tr><td>4</td><td>Producto 4</td><td>3000</td></tr>
<tr><td>5</td><td>Producto 5</td><td>5000</td></tr>
</table> 
y una tabla Compras donde se almacenan las compras de esos clientes teniendo en cuenta q por vez solo puede pedir una unidad de cada producto
Código HTML:
<table border='1'>
<tr><td>idcompra/td><td>idcliente</td><td>idproducto</td></tr>
<tr><td>1</td><td>1</td><td>1</td></tr>
<tr><td>2</td><td>2</td><td>1</td></tr>
<tr><td>3</td><td>2</td><td>1</td></tr>
<tr><td>4</td><td>4</td><td>3</td></tr>
<tr><td>5</td><td>5</td><td>5</td></tr>
<tr><td>6</td><td>1</td><td>1</td></tr>
<tr><td>7</td><td>2</td><td>1</td></tr>
<tr><td>8</td><td>2</td><td>1</td></tr>
<tr><td>9</td><td>4</td><td>3</td></tr>
<tr><td>10</td><td>5</td><td>5</td></tr>
</table> 
Resulta que yo hago una consulta en la base de datos para saber cuanto ha comprado el cliente de cualquier asesor entonces por un form seleccion el asesor que quiero consultar

Código PHP:
$vs mysqli_query($conn,"select * from asesores order by nombre");
<
select name="asesor">
$vss = while(mysqli_fetch_assoc($vs)){
echo
'<option value="'.$vss[idasesor].'">'.$vss[nombre].'</option>'
}
</
select>
<
button>ACEPTAR</button
una vez hago click en aceptar el me arroja a traves de una consulta, primero el listado de clientes que corresponden a ese asesor

Código PHP:
$idasesor $_POST['asesor'];
$em mysqli_query($conn,"select * from clientes where idasesor='$idasesor'");
echo
'<table>';
while(
$ems mysqli_fetch_assoc($em)){
$cliente $ems[idcliente];

echo 
'<tr><td colspan="4">'.$ems['nombrecliente'].</td></tr>

y dentro del while le digo q me muestre los productos y las cantidades compradas por producto asi

Código PHP:
$prd mysqli_query($conn,"select * from productos order by nombreproducto");
while(
$prds mysqli_fetch_assoc($prd)){
$producto $prds[idproducto];
$precio $prds[precioproducto];
$comp mysqli_query($conn,"select * from compras where idproducto='$producto' and idcliente='$cliente'");
$cantidad mysqli_num_rows($com);
$totalvendidoproducto $cantidad $precio;
echo
"<tr>
<td>"
.$cantidad."</td>
<td>"
.$prds[nombreproducto]."
<td>"
.$precioproducto."</td>
<td>"
.$totalvendidoproducto."</td>
</tr>
"


Hasta aqui me funciona perfecto, me arroja un listado de empresas que corresponden al asesor que selecciones
y en cada linea me muestras cuantas unidades de X producto se vendieron y el total de venta de ese producto.

AQUI LA PREGUNTA

como hacer para saber cuando en total se ha comprado por empresa y cuando en total ha vendido el asesor?

De antemano muchas gracias por la colaboracion
  #2 (permalink)  
Antiguo 11/05/2019, 00:43
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 11 años
Puntos: 127
Respuesta: Multiple suma

aquí tu respuesta: http://tpcg.io/9bGU0A

en si es básicamente hacer bien las consultas a la base de datos y mostrar los resultados.

lo mejor es utilizar join's para unir las tablas y hacer la lógica en la consulta y no en php.

Tu respuesta esta en la linea 161 en adelante. (lo que hay antes es solo relleno de datos en la base)

lo monte en un ambiente de pruebas web, espero sirva para los novatos.
Saludos.




La zona horaria es GMT -6. Ahora son las 18:23.