Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/08/2011, 04:14
Avatar de Shaito
Shaito
 
Fecha de Ingreso: agosto-2010
Mensajes: 383
Antigüedad: 14 años, 3 meses
Puntos: 37
Update 30 entradas simultaneas

Hola

Estoy intentando hacer un update con SQL a 30 entradas.

Para comenzar las llamo a todas con este código:

Código PHP:
$i=1;
$result=mysql_query("select * from cursos order by id")or die("La base de datos no existe");
while (
$row=mysql_fetch_array($result))
{
    
    echo
'<tr class="odd">
            <td>'
.utf8_encode($row['curso']).'</td>
            <td width="10%" align="center">
                <input type="checkbox" '
; if($row['estado']=='1'){echo'checked="checked"';}; echo' name="curso'.$i++.'" value="1">
            </td>
        </tr>'
;

De este modo obtengo las 30 consultas con un número más en cada input, para poder hacer la update.

Luego, en el envío del formulario tengo este código:

Código PHP:
            $i2=1;
            while(
$i2<=30){ // Un blucle de 30 repeticiones
                
$cursoid=$_POST['curso'.$i2.''];
                if(
$cursoid=='1'){
                
mysql_query("UPDATE cursos SET estado='1' WHERE id='$i2'") or die($error);
                
$i2++;
                }
                else{
mysql_query("UPDATE cursos SET estado='0' WHERE id='$i2'") or die($error);
                }
            } 
De este modo se repite 30 veces, cambiando el id del input que revisa para hacer el update.
Si el input no está checkeado se va a else, sin cambiar el id del input para ponerle un 0 en estado.


Pero me salta un error tras agotar el tiempo de espera: Fatal error: Maximum execution time of 30 seconds exceeded in


Espero que me puedan ayudar, si saben alguna forma mejor de hacer este tipo de update avisen ;)


Un saludo y gracias
__________________
Shaito Hiraga - Diseñador CSS