Desde esta mañana me estoy dando vueltas en lo mismo y no logro resolver el enigma.
Tengo dos programas que son iguales en el sentido que estraen el valor de una base de datos uno funciona perfecto y el otro no.
Se trata de lo siguiente; pido el valor de los kilos luego voy a la base de datos la recorro y busco el valor que se encuentre en esa celda.
El problema es que me muestra el valor sucesivo de la tabla.
Por ejemplo tengo 50 kilos y es de la zona 4 pues nada en vez de mostrarme 26,52 me muestra la cantidad siguiente que es 35,35.
Lo que debe hacer el programa es que si los kilos ingresados son igual a la columna de la base de datos, mostrar el valor, si en cambio es superior ir al valor siguiente. Un ejemplo osea en el caso anterior en vez de 5o kilos son 55 entonces es correcto que me muestre el valor de 35,35.
Otra cosa si los kilos superan los 500 kilos se debe hacer un calculo de porcentaje.
Bueno les muestro el que no funciona a ver si alguien me puede ayudar.
Código PHP:
Ver original
<?php include ('conexion.php'); $costo = $_POST['costo']; $peso = $_POST['peso']; $zona = $_POST['zona']; $descripcion = $_POST['descripcion']; $porc =""; ?> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta name="keywords" content="" /> <meta name="description" content="" /> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <title>Calcular transporte</title> <link href="http://fonts.googleapis.com/css?family=Arvo" rel="stylesheet" type="text/css" /> <link href="css/style.css" rel="stylesheet" type="text/css" /> <link href="css/menu.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="bg"> <div id="outer"> <div id="header"> <div id="logo"> <h1> <a href="index.html"></a> </h1> </div><br> <h2 style="font-weight:bold; color:#FF8E18; text-align:center; font-size: 36px;">Calculo transporte nacional</h2> <?php $sql = "SELECT * FROM transnacional"; $permitidos="501"; { if($peso < $rows['kilos'] AND $peso >= $permitidos){ $precio = ($peso*$rows[$zona])/100; $porc = ($precio/$costo)*100 ?> <h2 style="font-weight:bold; color:#FFFFFF; text-align:left; font-size: 20px;">Resultado transporte desde Barcelona</h2> <h2 style="font-weight:bold; color:#FFFFFF; text-align:left; font-size: 20px;">Hasta destino zona <?php echo $zona;?> <?php echo $descripcion;?> </h2> <h2 style="font-weight:bold; color:#FFFFFF; text-align:left; font-size: 20px;">Peso Mercaderia <?php echo $peso;?> kilos</h2> <h2 style="font-weight:bold; color:#FFFFFF; text-align:left; font-size: 20px;">Costo Mercaderia <?php echo $costo;?> Euros</h2> <h2 style="font-weight:bold; color:#FFFFFF; text-align:left; font-size: 20px;">Costo % transporte <?php echo $porc;?> %</h2> <h2 style = "color:#FF8E18; font-size: 20px;">Precio del transporte <?php echo $precio;?> Euros <h2/> <?php break; }elseif($peso < $rows['kilos']){ $precio = $rows[$zona]; $porc = ($precio/$costo)*100 ?> <h2 style="font-weight:bold; color:#FFFFFF; text-align:left; font-size: 20px;">Resultado transporte desde Barcelona</h2> <h2 style="font-weight:bold; color:#FFFFFF; text-align:left; font-size: 20px;">Hasta destino zona <?php echo $zona;?> <?php echo $descripcion;?> </h2> <h2 style="font-weight:bold; color:#FFFFFF; text-align:left; font-size: 20px;">Peso Mercaderia <?php echo $peso;?> kilos</h2> <h2 style="font-weight:bold; color:#FFFFFF; text-align:left; font-size: 20px;">Costo Mercaderia <?php echo $costo;?> Euros</h2> <h2 style="font-weight:bold; color:#FFFFFF; text-align:left; font-size: 20px;">Costo % transporte <?php echo $porc;?> %</h2> <h2 style = "color:#FF8E18; font-size: 20px;">Precio del transporte <?php echo $precio;?> Euros <h2/> <?php break; } } ?> </body> </html>
Código HTML:
Ver original
KILOS ZONA 0 ZONA 1 ZONA 2 ZONA 3 ZONA 4 ZONA 5 50 14,92 13,81 18,53 26,60 26,52 27,46 100 23,09 20,42 27,21 34,32 35,35 36,14 200 36,53 39,37 47,67 62,15 62,48 65,69 250 42,60 38,40 47,70 57,10 69,15 69,15 300 47,85 40,79 57,26 68,51 84,01 74,73 350 53,65 47,59 66,79 79,93 87,20 87,20 400 59,41 54,41 76,35 91,36 99,66 99,66 450 62,09 61,20 85,87 102,78 112,11 112,11 500 66,43 68,00 95,43 114,20 124,56 124,56 1000 10,86 11,70 12,98 19,04 17,89 21,61 2000 9,92 10,70 11,92 17,33 16,58 20,40