Ver Mensaje Individual
  #9 (permalink)  
Antiguo 03/02/2008, 20:09
okram
Invitado
 
Mensajes: n/a
Puntos:
Re: MOdificar varios ID a la vez

Ajá eso es, se guarda así porque todos tus campos tienen los mismos nombres, es decir, no haces diferencias entre cada registro. Utiliza el id en los nombres. Tendrás que ejecutar un ciclo con una consulta para cada registro, pues no puedes actualizarlos todos al mismo tiempo con datos diferentes. Haz algo así:

Código PHP:
# En la parte del while
while($datos mysql_fetch_array($con)) { 
    echo 
'<tr><td width="1"><input name="horario['.$datos['id'].']" type="text" class="file" size="10" maxlength="10" value="'.$datos['horario'].'"></td> 
<td width="99"><input name="titulo['
.$datos['id'].']" type="text" class="file" size="70" value="'.$datos['titulo'].'"></td></tr>'

Y para ejecutar las consultas

Código PHP:
 
// En vez de
# $horario = $_POST['horario']; 
# $titulo = $_POST['titulo']; 

# $ids_a_modificar = array(1,2); 
# $in = implode(',', $ids_a_modificar); 

# $sql = "UPDATE radio_progra set horario='$horario', titulo='$titulo' WHERE id IN($in)"; 
# $res = mysql_query($sql) or die("Error: ".mysql_error()); 
 
$sql "UPDATE radio_progra set horario='%1\$s', titulo='%2\$s' WHERE id = %3\$s"
 
$horarios $_POST['horario'];
$titulos $_POST['titulo'];
 
foreach(
$titulos as $i=>$t) {
    
mysql_query(sprintf($sql$horarios[$i], $t$i)) or die(mysql_error());

Supongo que así va a funcionar

Un saludo,