Foros del Web » Programando para Internet » PHP »

me funciona el update pero el insert no

Estas en el tema de me funciona el update pero el insert no en el foro de PHP en Foros del Web. Hola, trato de hacer asi un update o insert para que no se me repita el registro según el cod de proveedor y sucede que ...
  #1 (permalink)  
Antiguo 18/05/2008, 09:34
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
me funciona el update pero el insert no

Hola, trato de hacer asi un update o insert para que no se me repita el registro según el cod de proveedor y sucede que si existe hace el update pero sino no inserta.

Código PHP:
include('cone.php');

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

$idconnect=$enlace;
if (
$idconnect==0) {
echo 
"Lo sentimos no se ha podido";
echo 
"conectar con la base de datos.";
}
else {
$idresult=mysql_query ("SELECT * from precios;",$idconnect);
if (
$idresult==0) echo "La sentencia es incorrecta.";
else {
while (
$registro=mysql_fetch_array($idresult))
{
if (
$codproveedor==$registro["codproveedor"])
mysql_query("UPDATE precios SET producto='$producto',precio='$precio',IVA='$IVA',porcentaje='$porcentaje',cantidad='$cantidad',precioconiva='$precioconiva',ivadiscriminado='$ivadiscriminado',preciolista='$preciolista',preciototal='$preciototal'");
else
mysql_query("insert into precios (producto,codproveedor,precio,IVA,porcentaje,cantidad,precioconiva,ivadiscriminado,preciolista,preciototal) VALUES ('$producto','$codproveedor','$precio','$IVA','$porcentaje','$cantidad','$precioconiva','$ivadiscriminado','$preciolista','$preciototal')");
}

mysql_free_result ($idresult);
}
}
mysql_close($idconnect); 
  #2 (permalink)  
Antiguo 18/05/2008, 19:16
Avatar de emiliodeg  
Fecha de Ingreso: septiembre-2005
Ubicación: Córdoba
Mensajes: 1.830
Antigüedad: 18 años, 8 meses
Puntos: 55
Respuesta: me funciona el update pero el insert no

despues de los mysql_query pone

or die("mensaje".mysql_error());

asi podras ver si ocurre un error en la sentensia
__________________
Degiovanni Emilio
developtus.com
  #3 (permalink)  
Antiguo 21/05/2008, 16:18
 
Fecha de Ingreso: mayo-2004
Mensajes: 903
Antigüedad: 20 años
Puntos: 4
Respuesta: me funciona el update pero el insert no

Hola, gracias 1º por tu respuesta, te cuento, puse asi pero no me da error, y si tengo el campo codproveedor UNIQUE no me hace el update si el insert y si no lo pongo UNIQUE me hace un updtate tantas veces como registros tenga o mejor dicho un nuevo insert.

Código PHP:
$producto $_POST['producto']."\r\n";
$codproveedor $_POST['codproveedor']."\r\n";
$precio $_POST['precio']."\r\n";//RECIBIMOS EL VALOR DE CALCULO.PHP
$IVA $_POST['iva'];// Porcentaje
$porcentaje $_POST['porcentaje'];// Porcentaje
$cantidad $_POST['cantidad'];
$unidaddemedida $_POST['unidaddemedida'];
$precioconiva $precio + (($precio 100) * $IVA);
$ivadiscriminado = ($precio 100) * $IVA;
$preciolista$precioconiva + (($precioconiva 100) * $porcentaje);
$preciototal $preciolista $cantidad;
$ivadiscriminadofinal = ($preciototal 100) * $IVA;
$fechaingreso date("Y-m-d");
include(
'cone.php');

echo 
"Producto:" .$producto."<br>"."Precio sin IVA:" .$precio."<br>"."Código Proveedor:" .$codproveedor."<br>"."Precio con IVA:"
$precioconiva."<br>"."IVA DISCRIMINADO:"$ivadiscriminado."<br>"."Precio unitario:"$preciolista."<br>".
"Precio a pagar total por :".$cantidad $producto."$".$preciototal." POR ".$unidaddemedida."<br>"."IVA DISCRIMINADO:".$ivadiscriminadofinal."<p>"."FECHA DE INGRESO".$fechaingreso."<br>";

$idconnect=$enlace;
if (
$idconnect==0) {
echo 
"Lo sentimos no se ha podido";
echo 
"conectar con la base de datos.";
}
else {
$idresult=mysql_query ("SELECT * from precios;",$idconnect);
if (
$idresult==0) echo "La sentencia es incorrecta.";
else {
while (
$registro=mysql_fetch_array($idresult))
{
if (
$codproveedor==$registro["codproveedor"]){
mysql_query("UPDATE precios SET producto='$producto',precio='$precio',IVA='$IVA',porcentaje='$porcentaje',cantidad='$cantidad',precioconiva='$precioconiva',ivadiscriminado='$ivadiscriminado',preciolista='$preciolista',preciototal='$preciototal',fechaingreso='$fechaingreso' WHERE codproveedor='$codproveedor'")or die("mensaje".mysql_error());
}
else{
mysql_query("insert into precios (producto,codproveedor,precio,IVA,precioconiva,ivadiscriminado,preciolista,cantidad,preciototal,unidaddemedida,fechaingreso) values ('$producto','$codproveedor','$precio','$IVA','$precioconiva','$ivadiscriminado','$preciolista','$cantidad','$preciototal','$unidaddemedida','$fechaingreso')",$enlace) or die("No ingresaron los datos correspondientes al codigo de producto: $codproveedor, ya existe.<br>");

}
}

mysql_free_result ($idresult);
}
}
mysql_close($idconnect); 
  #4 (permalink)  
Antiguo 21/05/2008, 21:18
 
Fecha de Ingreso: enero-2008
Ubicación: La Plata
Mensajes: 136
Antigüedad: 16 años, 3 meses
Puntos: 3
Respuesta: me funciona el update pero el insert no

Prueba poniendo cada campo entre acentos ``.
O sea asi:

Código PHP:
mysql_query("insert into precios (`producto`,`codproveedor`,`precio`,`IVA`,`precioconiva`,`ivadiscriminado`,`preciolista`,`cantidad`,`preciototal`,`unidaddemedida`,`fechaingreso`) values ('$producto','$codproveedor','$precio','$IVA','$precioconiva','$ivadiscriminado','$preciolista','$cantidad','$preciototal','$unidaddemedida','$fechaingreso')",$enlace) or die("No ingresaron los datos correspondientes al codigo de producto: $codproveedor, ya existe.<br>"); 
Espero que haya sido eso , mucha suerte.
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 05:33.