Foros del Web » Programando para Internet » PHP »

Problema al insertar en la base de datos

Estas en el tema de Problema al insertar en la base de datos en el foro de PHP en Foros del Web. Hola, trato de insertar estos datos pero no lo logro. El cálculo funciona bien, me imprime los valores solo que necesito meterlos en la bd. ...
  #1 (permalink)  
Antiguo 16/05/2008, 10:42
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Problema al insertar en la base de datos

Hola, trato de insertar estos datos pero no lo logro.
El cálculo funciona bien, me imprime los valores solo que necesito meterlos en la bd.

Código PHP:
<?php
$producto 
$_POST['producto']."\r\n";
$precio $_POST['precio']."\r\n";//RECIBIMOS EL VALOR DE CALCULO.PHP
$IVA $_POST['iva'];// Porcentaje
$lista $_POST['lista'];// Porcentaje
$cantidad $_POST['cantidad'];
$precioconiva $precio + (($precio 100) * $IVA);
$ivadiscriminado = ($precio 100) * $IVA;
$preciolista$precioconiva + (($precioconiva 100) * $lista);
$preciototal $preciolista $cantidad;

echo 
"Precio sin IVA:" .$precio."<br>"."Precio con IVA:"
$precioconiva."<br>"."IVA DISCRIMINADO:"$ivadiscriminado."<br>"."Precio unitario:"$preciolista."<br>".
"Precio a pagar total por :".cantidad $producto."$".$preciototal."<br>";

include(
'cone.php');

//Ejecucion de la sentencia SQL
mysql_query("insert into precios (producto,precio,IVA,lista,precioconiva,ivadiscriminado,preciolista,cantidad,preciototal) values ('$producto','$precio','$IVA','$lista','$precioconiva','$ivadiscriminado','$preciolista','$cantidad','$preciototal')",$enlace);
  
  
  
?>
tabla

Código:
CREATE TABLE `precios` (
  `id` int(11) NOT NULL auto_increment,
  `producto` text NOT NULL,
  `precio` text NOT NULL,
  `IVA` text NOT NULL,
  `lista` text NOT NULL,
  `precioventa` text NOT NULL,
  `ivadiscriminado` text NOT NULL,
  `preciolista` text NOT NULL,
  `cantidad` text NOT NULL,
  `preciototal` text NOT NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM ;
formu
Código:
<form action="iva.php" method="post" name="form1" onSubmit="MM_validateForm('precio','','NisNum','cantidad','','NisNum');return document.MM_returnValue">
  <table width="600">
    <tr>
      <td>Producto</td>
      <td><input name="producto" type="text" id="producto"></td>
    </tr>
    <tr>
      <td>Precio producto </td>
      <td><input name="precio" type="text" id="precio"></td>
    </tr>
    <tr>
      <td>IVA</td>
      <td><select name="iva">
        <option value="21">21</option>
        <option value="12.5">12.5</option>
      </select></td>
    </tr>
    <tr>
      <td>PORCENTAJE DE GANANCIA </td>
      <td><select name="lista" id="lista">
        <option value="10">10</option>
        <option value="12.5">12.5</option>
        <option value="15">15</option>
        <option value="20">20</option>
        <option value="25">25</option>
        <option value="30">30</option>
        <option value="35">35</option>
        <option value="40">40</option>
        <option value="45">45</option>
        <option value="50">50</option>
        <option value="55">55</option>
        <option value="60">60</option>
        <option value="65">65</option>
        <option value="70">70</option>
		     <option value="80">80</option>
                  </select></td>
    </tr>
    <tr>
      <td>Cantidad</td>
      <td><input name="cantidad" type="text" id="cantidad"></td>
    </tr>
    <tr>
      <td>&nbsp;</td>
      <td><input type="submit" name="Submit" value="Calcular"></td>
    </tr>
  </table>
</form>
  #2 (permalink)  
Antiguo 16/05/2008, 10:55
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: No puedo insertar datos asi

duda que trae cone .php???
es su include a la conexion??
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #3 (permalink)  
Antiguo 16/05/2008, 11:07
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Respuesta: No puedo insertar datos asi

Cita:
Iniciado por kaninox Ver Mensaje
duda que trae cone .php???
es su include a la conexion??
Hola, si es el archivo de conexión

Código PHP:
// Conexion, seleccion de base de datos
$enlace mysql_connect('localhost''''')
   or die(
'No pudo conectarse : ' mysql_error());
mysql_select_db('') or die('No pudo seleccionarse la BD.'); 
  #4 (permalink)  
Antiguo 16/05/2008, 11:09
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: No puedo insertar datos asi

Prueba cambiar así tu insert:
Código PHP:
mysql_query("insert into precios (producto,precio,IVA,lista,precioconiva,ivadiscriminado,preciolista,cantidad,preciototal) values ('$producto','$precio','$IVA','$lista','$precioconiva','$ivadiscriminado','$preciolista','$cantidad','$preciototal')",$enlace) or die( mysql_error() ); 
Saludos.
  #5 (permalink)  
Antiguo 16/05/2008, 11:11
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Problema al insertar en la base de datos

mmmmm has probado poner un or die para saber en que falla

Código PHP:
mysql_query ("INSERT INTO precios"
 
." (productos)"
 
." Values"
 
." ('$_POST[productos]')") or die ("Error ".mysql_error()); 
no le veo error a lo menos que falle algun campo :/ a lo mejor mal definido en la base de datos
tendras el IVA en INT y te envia valores float :/ no se prueba eso y me dices que error te da :)
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #6 (permalink)  
Antiguo 16/05/2008, 11:15
Avatar de kaninox  
Fecha de Ingreso: septiembre-2005
Ubicación: In my House
Mensajes: 3.597
Antigüedad: 18 años, 7 meses
Puntos: 49
Respuesta: Problema al insertar en la base de datos

a taaa ya se en que puede fallar pues amigo arriba cuando defines estas haciendo....

$producto = $_POST['producto']."\r\n";

y haces que valor sea los numeros mas los saltos de linea :º donde concatenas ."\r\n"

prueba sacandolo de la concatenacion poniendo

$producto = $_POST['producto']; echo "\r\n";

lo mismo para precio
__________________
Gokuh Salvo al mundo. PUNTO!!!!
  #7 (permalink)  
Antiguo 16/05/2008, 11:29
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Respuesta: Problema al insertar en la base de datos

Gracias gatorv y kaniinox, realmente cuando estas pasado y encima no sabes te pasa esto, tenia mal un campo, era preciocon iva no precio venta.

or die( mysql_error() infaltable desde hoy, jaja
  #8 (permalink)  
Antiguo 16/05/2008, 11:37
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Problema al insertar en la base de datos

Te recomiendo haga algo así en un futuro:
Código PHP:
define"DEBUG");

function 
real_query$query$cnn ) {
        
$result mysql_query$query$cnn );
        if( 
DEBUG && !$result ) {
                  die( 
"Hay un problema en el Query: $query, el error: " mysql_error() );
        } else {
                if( !
$result ) {
                         
// aqui seria buena idea enviar vía mail el error o guardarlo en un log
                         
die( "Error en la base de datos" );
                         return 
false;
                } else {
                         return 
$result;
                 }
        }

Así podrás controlar desde el define si lo pones en 1, es cuando esta en pruebas y puedes ver el error claramente, cuando ya este en producción lo pones en 0, y si falla no mostrarías el error en pantalla, o un mensaje mas sencillo.

Saludos.
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 04:05.