PHP - Encontrar el menor resultado de un calculo de una consulta

 
Vista:
sin imagen de perfil
Val: 139
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encontrar el menor resultado de un calculo de una consulta

Publicado por towi62 (79 intervenciones) el 03/01/2021 05:05:00
hola que tal comunidad, disculpen mis molestias, tengo una consulta sql en la cual me muestra varias filas, sobre datos capturados de precios de productos y gastos de envio.
Entonces mediante calculos matematicos busco cual es el producto que me convendria traer ya que son de diferentes tiendas en donde venden el mismo producto.
Hasta ese punto si he conseguido sacar los calculos, pero lo que quisiera es que solo me muestre cual es el producto con menor resultado segun mi calculo, y no todos los productos relacionados con cada id que contiene la tabla.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
$sql = "SELECT * FROM registraproductos";
$result = $conn->query($sql);
 
if ($result->num_rows > 0) {
  // output data of each row
  while($row = $result->fetch_assoc()) {
    echo "id: " . $row["id"]. "<br>Producto:" . $row["producto"]. "<br>Precio" . $row["precio"]. "<br>Gastos de Envio:" . $row["gastos_envio"]. "<br>";
 
$midinero= 2000;
$gastosdenvio= $row["gastos_envio"];
$resultado=$midinero-$gastosdenvio;
 
echo "El menor resultado es:".$resultado."";
?>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 139
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encontrar el menor resultado de un calculo de una consulta

Publicado por towi62 (79 intervenciones) el 04/01/2021 04:23:48
Voy a tratar de ser mas breve, haber si alguien me comprende. lo que hace el codigo es mostrar los resultados de la consulta, agregandole una operacion con un echo, para que me diga cual es el menor resultado de todas las operaciones, pero me muestra todos los redultados que encontro la consulta. Y no solo el menor resultado de la operacion.

Osea que me muetra:

El menor resultado es:4000
El menor resultado es:2600
El menor resultado es:3500

Cuando solo me deberia mostrar:
El menor resultado es:2600
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Encontrar el menor resultado de un calculo de una consulta

Publicado por Mauro (1034 intervenciones) el 04/01/2021 15:04:30
Si tienes un campo en la tabla por el cual ordenar podrías hacer algo como

1
SELECT * FROM registraproductos ORDER BY resultado LIMIT 1

De esta forma te quedarás exclusivamente con el menor resultado.

Si no es así (es decir, si no puedes calcular el resultado desde la db), lo que puedes hacer es utilizar la función usort y quedarte con el primer elemento del arreglo resultante.

Te dejo este ejemplo que puede ayudarte, cualquier duda me consultas ;)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 139
Ha mantenido su posición en PHP (en relación al último mes)
Gráfica de PHP

Encontrar el menor resultado de un calculo de una consulta

Publicado por towi62 (79 intervenciones) el 05/01/2021 06:48:09
Si masomenos entendi que la funcion usort sirve para acomodar los valores del array segun su instrucion pero como aplicaria esa funcion a una consulta sql. Trato de adaptarselo a mi script pero no se como hacerlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Mauro
Val: 2.761
Oro
Ha aumentado 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Encontrar el menor resultado de un calculo de una consulta

Publicado por Mauro (1034 intervenciones) el 05/01/2021 15:44:36
El problema es que tienes que realizar un cálculo que tenga en cuenta algo más que lo que hay en la db ($midinero).

Tal vez podrías probar algo como:

1
2
$sql = "SELECT ($midinero - gastos_envio) as resultado, id, producto, precio, gastos_envio FROM registraproductos

Con el resultado de esa consulta en un array puedes usar la función como en el ejemplo que te pasé.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar