Foros del Web » Programando para Internet » PHP »

Problema con un registro

Estas en el tema de Problema con un registro en el foro de PHP en Foros del Web. Hola a todos Tengo un problema con actualizar varios registros de un base de datos, cuando subo un archivo *.cvs (delimitados por comas, archivo de ...
  #1 (permalink)  
Antiguo 12/04/2004, 17:03
Avatar de mauricio2004  
Fecha de Ingreso: marzo-2004
Mensajes: 264
Antigüedad: 20 años, 1 mes
Puntos: 0
Problema con un registro

Hola a todos

Tengo un problema con actualizar varios registros de un base de datos, cuando subo un archivo *.cvs (delimitados por comas, archivo de excel) leo los datos bien ya los imprimo bien

el problema es que no me actualiza los datos, al hacer un update, no se por q no me lo hace.

Ahi les va el código:


if ($ingresar)
{
if ( sizeof($archivo) > 0 && $archivo!='none')
{
?>
<br>
<table width="350" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="33%"><a href="#"><img src="AccionImages/warning.gif" width="31" height="31" hspace="5" align="left" border="0"></a><font size="2">Los cambios han sido realizados exitosamente en el sistema
[<a href="<? echo $PHP_SELF ?>">Volver</a>]</font></td>

</tr>
</table>
<?

$terminacion=time();
$nombre2=$nombretienda."_".$terminacion;
copy($archivo,"/tmp/bd_".$nombre2);
$fd = fopen("/tmp/bd_".$nombre2, "r");
$contador=1;
$cuenta=0;
while ($fila = fgets($fd, 9999))
{
$datos=explode(";",$fila);


$nombre="nombre='$datos[1]'";
$descripcion="descripcion='$datos[2]'";
$descripcion_larga="descripcion_larga='$datos[3]'";
$precio="precio='$datos[3]'";
$stockactual=", stockactual='$datos[4]'";
$con=$datos[0];
$query="SELECT codigo FROM productos WHERE codigo='$con'";//si encuentra un registro hace un update
$result=mysql_query($query);

if (mysql_num_rows($result)==1)
{
$query="UPDATE productos SET nombre='$nombre' descripcion='$descripcion' precio='$precio' stockactual='$stockactual' WHERE codigo='$datos[0]'";
$check = mysql_query($query);
}

if (!$check)
{

if ($datos[6]=="VINOS")
$prov=1;
if ($datos[6]=="LICORES")
$prov=2;
if ($datos[6]=="WHISKIES")
$prov=3;
$query1="INSERT INTO productos (id, codigo, nombre, descripcion, descripcion_larga, precio, fotochica, fotogrande, oferta, stockactual, stockmin, cantidad, id_proveedor, id_familia, cant_producto, codigo_orden) VALUES ('','$datos[0]', '$datos[1]', '$datos[2]','$datos[3]','','','F','$datos[4]','','','$prov','','','')";
$result=mysql_query($query1);
$cuenta++;

}
++$contador;
//}
}
fclose($fd);
exec ("rm /tmp/bd_$nombre");
echo"Se Ingresaron \"$cuenta\" nuevos registros";

}
else
{
?>
<br>
<table width="350" border="0" cellspacing="0" cellpadding="0" align="center">
<tr>
<td width="33%"><a href="#"><img src="AccionImages/warning.gif" width="31" height="31" hspace="5" align="left" border="0"></a><font size="2"><b>ERROR</b>: Hubo un error al leer el archivo.
[<a href="<? echo $PHP_SELF ?>">Volver</a>]</font></td>
</tr>
</table>
<?
}
}


else
{
?>
<form method=post action="<? echo $PHP_SELF ?>" name="" enctype="multipart/form-data">
<p>Para actualizar la informacion de los productos de su base de datos, usted
debe subir un archivo como el ilustrado a continuación. El codigo del producto
en el archivo debe ser IGUAL al codigo del producto en el Sistema. El archivo
de base de datos debera ser un archivo de <b>texto plano </b>y los diferentes
campo de su base de datos deben ir separados por el caracter<b> "|"</b> (Pipe).
</p>
<table width="90%" border="1" cellspacing="0" cellpadding="5" align="center">
<tr>
<td>
<div align="center"> <b>FORMATO DEL ARCHIVO ASCII A SUBIR</b></div>
</td>
</tr>
<tr>
<td>
<div align="center">codigo | nombre | descripción corta | descripci&oacute;n
larga | precio( sin $ ni . ) | stock actual</div>
</td>
</tr>
</table>
<p> Una vez listo, presione el boton <i>&quot;Subir Archivo &quot;</i>, para
seleccionar el archivo presione <i>&quot;Browse&quot;</i>. </p>
<table width="90%" border="1" cellspacing="0" cellpadding="2" align="center" bordercolor="#CCCCCC">
<tr>
<td width="50%">Archivo ASCII</td>
<td width="50%">
<input type=file name=archivo>
</td>
</tr>
<tr>
<td width="50%">&nbsp;</td>
<td width="50%">
<input type="submit" name="ingresar" value=" Subir Archivo ">
</td>
</tr>
</table>
</form>
<?
}

?>



no se como arreglarlo, si alguien me puede ayudar se lo agradeceria mucho.

Saludos

Mauricio Chile
  #2 (permalink)  
Antiguo 13/04/2004, 06:12
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 21 años, 10 meses
Puntos: 16
Hola,

Para ver los errores de ejecucion de MySQL, mysql_error() (www.php.net/mysql_error):
Código PHP:
$check mysql_query($query) or die("Error $query <br> MySQL dice: ".mysql_error()); 
Y para la sintaxis de SQL: www.mysql.com

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
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 02:22.