Ver Mensaje Individual
  #1 (permalink)  
Antiguo 20/08/2008, 05:03
mgo3
 
Fecha de Ingreso: marzo-2007
Mensajes: 33
Antigüedad: 17 años, 1 mes
Puntos: 0
script para editar registros de una bbdd como lo hace phpmyadmin

Hola, estoy diseñando un panel de control web en el que quiero mostrar todos los registros de una bbdd con un checkbox al lado para que el usuario pueda seleccionar los que quiera y editarlos como lo hace phpmyadmin.
Lo tengo todo menos la parte final, creo el formulario con todos los checbox y luego según los checkbox que haya seleccionados creo otro form con todos los campos para modificar los registros, pero luego no sé cómo hacer para procesar los datos del segundo form ya que no sé cuántos hay y estarían repetidos en un bucle, no sé como nombrarlos para identificarlos, me explico? Ahí va algo de código a ver si se ve...

index.php
Código PHP:
<form action="accion.php" method="post">
        <?php
        
while($fila mysql_fetch_assoc($ejecucion)){
<
td><input type="checkbox" name="borrar[]" value="<?php echo $fila['id_usuario'];?>"></td>echo "<td>".$fila['nombre']."</td>";
            echo 
"<td>".$fila['apellidos']."</td>";
            echo 
"<td>".$fila['email']."</td>";
            echo 
"<td>".$fila['telefono']."</td>";
            echo 
"<td>".$fila['direccion']."</td>";
            echo 
"<td>".$fila['cod_postal']."</td>";
(...)
accion.php
Código PHP:
<form action="editar.php" method="post" name="Registrar_usuario" onSubmit="return validar_formulario(this)">
            <?php
            
for($i=0$i<count($_POST['borrar']);$i++){
            
$sentencia "select * from usuarios where id_usuario = ".$_POST['borrar'][$i];
            
$ejecucion mysql_query($sentencia);
            
$fila mysql_fetch_assoc($ejecucion);
            
?>
            <h2>Usuario <?php echo $_POST['borrar'][$i]; ?></h2>
            <p>Nombre:&nbsp;<font color="#FF0000">*</font>&nbsp;
            <input name="nombre<?php echo $i?>" type="text" size="30" value="<?php echo $fila['nombre'];?>" /></p>
            <p>Apellidos:&nbsp;<font color="#FF0000">*</font>&nbsp;
            <input name="apellidos<?php echo $i?>" type="text" size="50" value="<?php echo $fila['apellidos'];?>" /></p>
            <p>Dirección:&nbsp;
            <input name="direccion<?php echo $i?>" type="text" size="40" value="<?php echo $fila['direccion'];?>" />
            &nbsp;&nbsp;Código postal:&nbsp;
            <input name="cod_postal<?php echo $i?>" type="text" size="6" maxlength="5" value="<?php echo $fila['cod_postal'];?>" /></p>
            
            <div id="demo" style="width:600px;">
                <div id="demoDer">
                    Municipio:&nbsp;
                    <select disabled="disabled" name="municipios<?php echo $i?>" id="municipios<?php echo $_POST['borrar'][$i]; ?>">
                        <option value="0">Selecciona opci&oacute;n...</option>
                    </select>
                </div>
                <div id="demoIzq">Provincia:&nbsp;<?php generaProvincias($i); ?></div>
            </div>
            
            <p>Teléfono:&nbsp;
            <input name="telefono<?php echo $i?>" type="text" size="10" value="<?php echo $fila['telefono'];?>" />
            Email:&nbsp;<font color="#FF0000">*</font>&nbsp;
            <input name="email<?php echo $i?>" type="text" size="40" value="<?php echo $fila['email'];?>" /></p>
            <p>Nombre de usuario:&nbsp;<font color="#FF0000">*</font>
            &nbsp <input name="login<?php echo $i?>" type="text" size="20" value="<?php echo $fila['login'];?>" />
            Contraseña:&nbsp;<font color="#FF0000">*</font>
            &nbsp <input name="pass<?php echo $i?>" type="password" size="20" value="<?php echo $fila['pass'];?>" /></p>
            <input type="hidden" name="id_usuario<?php echo $i?>" value="<?php echo $_POST['borrar'][$i];?>" />
            <p><font color="#FF0000">*</font>&nbsp;Campos obligatorios.</p>
                        
            <?php
            
}
            
?>
            <input type="hidden" name="count" value="<?php echo count($_POST['borrar']);?>" />
            <p><input name="Enviar" type="submit" value="Actualizar"/></p>
            </form>
editar.php
Código PHP:
<?php
$cont 
$HTTP_POST_VARS["count$i"];
for(
$i=0;$i<$cont;$i++){
// Recogida de variables
$nombre($i)=$HTTP_POST_VARS["nombre$i"];
$apellidos($i)=$HTTP_POST_VARS["apellidos$i"];
$direccion($i)=$HTTP_POST_VARS["direccion$i"];
$cod_postal($i)=$HTTP_POST_VARS["cod_postal$i"];
if(isset(
$HTTP_POST_VARS["municipios$i"])){
    
$municipio($i)=$HTTP_POST_VARS["municipios$i"];
}else{
    
$municipio($i)=0;
}
$provincia($i)=$HTTP_POST_VARS["provincias$i"];
$telefono($i)=$HTTP_POST_VARS["telefono$i"];
$email($i)=$HTTP_POST_VARS["email$i"];
$login($i)=$HTTP_POST_VARS["login$i"];
$pass($i)=$HTTP_POST_VARS["pass$i"];
$id_usuario($i)=$HTTP_POST_VARS["id_usuario$i"];

// Conexión y selección de la BBDD 
$link mysql_connect("localhost","elitebags","Sa5679") or die(mysql_error());
mysql_select_db("carpetas_abadias_nuevo");

// Sentencia de inserción de datos
$sentencia "update usuarios set nombre='$nombre($i)',
                                apellidos='$apellidos($i)',
                                direccion='$direccion($i)',
                                cod_postal='$cod_postal($i)',
                                id_municipio='$municipio($i)',
                                id_provincia='$provincia($i)',
                                telefono='$telefono($i)',
                                email='$email($i)',
                                login='$login($i)',
                                pass='$pass($i)'
                    where id_usuario = '$id_usuario($i)';"
;

// Ejecución de la sentencia                                
$ejecuta mysql_query($sentencia,$link);

// Comprobar resultados
if($ejecuta){
    echo 
"<font color=\"green\">Usuario actualizado correctamente</font><br>";
}
else{
    echo 
"<font color=\"red\"><b>Error al actualizar el usuario<b></font><br>".mysql_error();
}
?>
¿Alguien tiene alguna idea?

Muchas gracias y un saludo!