Foros del Web » Programando para Internet » PHP »

Actualizar varios resgistros a la vez.

Estas en el tema de Actualizar varios resgistros a la vez. en el foro de PHP en Foros del Web. El código de la tabla del MySQL es esta: CREATE TABLE `url_jcce` ( `id` int(3) NOT NULL auto_increment, `munic` char(50) default NULL, `url` char(105) default ...
  #1 (permalink)  
Antiguo 30/04/2008, 07:23
 
Fecha de Ingreso: abril-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Actualizar varios resgistros a la vez.

El código de la tabla del MySQL es esta:

CREATE TABLE `url_jcce` (
`id` int(3) NOT NULL auto_increment,
`munic` char(50) default NULL,
`url` char(105) default NULL,
`sitio` enum('sitio','ftp') default NULL,
PRIMARY KEY (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=17 DEFAULT CHARSET=utf8;

Lo que quiero actualizar son los campos munic y url... se que es una tarea dura... estoy trabajando fuerte en el codigo... el codigo es el siguiente, ah, hice una prueba con la string de SQL con la variable $updateSQL y puse en el SET munic='Hola', url='mundo' y me lo actualizó en todo los registros... lo que me falta como yo hago un bucle que repita las instrucciones de SQL.

Bueno pues el código es este.

<?php require_once('../../Connections/nue.php'); ?>
<?php

/// esto es una array que capta la variable del formulario
if(!empty($_POST['reg'])){
$registros= array_keys($_POST['reg']);
$registros= implode("','", $registros);
$registros= "'" . $registros . "'";

$mun= array_keys($_POST['munic']);
$mun= implode("','", $mun);
$mun= "'" . $mun . "'";

$url= array_keys($_POST['url']);
$url= implode("','", $url);
$url= "'" . $url . "'";



$updateSQL = "UPDATE url_jcce SET munic='Hola', url='mundo' WHERE id IN ($registros)";



mysql_select_db($database_nue, $nue);
$Result1 = mysql_query($updateSQL, $nue) or die(mysql_error());
echo "se ha modificado los datos satisfactoriamente";
// no me sale la función header("Location: link.php?cmg");
}

?>
  #2 (permalink)  
Antiguo 30/04/2008, 08:22
Avatar de ACX_POISON  
Fecha de Ingreso: abril-2008
Ubicación: Talca-Chile
Mensajes: 750
Antigüedad: 16 años
Puntos: 7
Re: Actualizar varios resgistros a la vez.

si te entiendo bien..

te recomendaria hacer un bucle segun el numero de valores del arreglo(count($registros))

asi:

Cita:
for($i=1;$i<count($registros);i++)
{
$updateSQL = "UPDATE url_jcce SET munic='$num[$i]', url='$url[$i]' WHERE id ='$registros[$i]'";

//visualizas la consulta para estar seguro
echo"$updateSQL<br>";
mysql_query($updateSQL)
}
ojala te sirva de algo....
  #3 (permalink)  
Antiguo 30/04/2008, 09:59
 
Fecha de Ingreso: abril-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Re: Actualizar varios resgistros a la vez.

Ok colega, voy a provar a ver, tiene logica a lo que me dices. Entre al PHPmyAdmin y prove actualizar todos los registros y vi la consulta de SQL y es igualito a lo que dijiste. Bueno... lo hare encuanto tenga un tiempo. El problema es que quiero optimizar a la hora de actualizar.
  #4 (permalink)  
Antiguo 30/04/2008, 10:56
 
Fecha de Ingreso: abril-2008
Mensajes: 6
Antigüedad: 16 años
Puntos: 0
Re: Actualizar varios resgistros a la vez.

Hola colega no me sale... prové con lo que me dijiste, pero creo que estamos más o menos cerca... voy a intentar de otra forma...
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 14:15.