Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema para actualizar datos

Estas en el tema de problema para actualizar datos en el foro de PHP en Foros del Web. Hola, tengo un problema, tengo un formulario para guardar alumnos,el problema se genera cuando quiero editar los datos, para esto hago una consulta que me ...
  #1 (permalink)  
Antiguo 24/02/2016, 17:17
 
Fecha de Ingreso: julio-2013
Ubicación: Sonora
Mensajes: 5
Antigüedad: 11 años, 5 meses
Puntos: 0
problema para actualizar datos

Hola, tengo un problema, tengo un formulario para guardar alumnos,el problema se genera cuando quiero editar los datos, para esto hago una consulta que me regresa los datos a otro formulario para editarlos, la tabla de alumnos esta relacionada con dos tablas por lo que el formulario incluye dos select que a su ves contienen dentro codigo php para extraer los datos de cada tabla. El problema es que si no selecciono ninguno de estos dos select aunque cambie informacion de los demas campos no se actualiza en la tabla.
Para que los cambio se guarden tengo que seleccionar los combos de escuela y de colonia incluso si selecciono solo uno, no se actualiza la informacion.

Pueden ayudarme ? Les dejo mi codigo:

El siguiente codigo es de mi formulario en el que pueden editar los campos


Código PHP:
<?php
include 'conexion.php';
$valor=$_POST['select'];
$consulta $conexion -> query("select id_alumnos,nombres,a_paterno,a_materno,sexo,edad,telefono,email,domicilio,colonia,escuela,medio_entero from alumnos join colonia on alumnos.id_colonia=colonia.id_colonia 
                    join escuela on alumnos.id_escuela=escuela.id_escuela where id_alumnos = '$valor'"
);
$registro=$consulta ->fetch_assoc();
echo 
$nombre=$registro['nombres'];
echo 
$a_paterno=$registro['a_paterno'];
echo 
$a_materno=$registro['a_materno'];
echo 
$sexo=$registro['sexo'];
echo 
$edad=$registro['edad'];
echo 
$telefono=$registro['telefono'];
echo 
$correo=$registro['email'];
echo 
$domicilio=$registro['domicilio'];
echo 
$colonia=$registro['colonia'];
echo 
$escuela=$registro['escuela'];
echo 
$medio=$registro['medio_entero'];
echo 
"<html>";
    echo 
"<head><title>Edita Alumno</title>";
    echo 
"<link rel='stylesheet' href='style.css'>";
echo 
"</head>";
echo 
"<body>";
    echo 
"<section class='contenido wrapper'>";
        echo 
"<form action='edit_alu_exe.php' method='post' autocomplete='off'>";
            echo 
"<h3><input value='".$registro['id_alumnos']."' type='text' name='idalumnos' />";
            echo 
"<span class='icon-clipboard'></span>Registro de Alumnos</h3><br><br>";
                    echo 
"<p><label>Nombres</label>";
                    echo 
"<input value='$nombre' autofocus type='text' name='name' class='input'/></p>";
                    echo 
"<p><label>Apellido Paterno</label>";
                    echo 
"<input value='$a_paterno' type='text' name='a_paterno' class='input'/></p> ";
                    echo 
"<p><label>Apellido Materno</label>";
                    echo 
"<input value='$a_materno' type='text'  name='a_materno' class='input'/><p> ";
                    echo 
"<p><label>Sexo</label>";
                    echo 
"<select name='sexo' class='input'>";
                        echo 
"<option value='$sexo'>";
                        echo 
$sexo;
                        echo 
"</option>";
                        echo 
"<option value='Femenino'>Femenino</option>";
                        echo 
"<option value='Masculino'>Masculino</option>";
                    echo 
"</select></p>";
                    echo 
"<p><label>Edad</label>";
                    echo 
"<input value='$edad' type='number'  name='edad' class='input'/></p>";
                    echo 
"<p><label>Telefono</label>";
                    echo 
"<input value='$telefono' type='text' name='telefono' class='input'/></p>";
                    echo 
"<p><label>Correo Electrónico</label>";
                    echo 
"<input value='$correo' type='email' name='correo' class='input'/></p>";
                    echo 
"<p><label>Domicilio</label>";
                    echo 
"<input value='$domicilio' type='text' name='domicilio' class='input'/></p>";
                    echo 
"<p><label>Colonia</label>";
                    echo 
"<select name='col' class='input';>";
                        
/*    echo "<option value='".$registro['id_colonia']."'>";
                            echo $registro['colonia'];
                            echo "</option>";*/
                            
echo "<option value='".$registro['id_colonia']."'>".$colonia."</option>";
                            
$con$conexion -> query("select * from colonia order by colonia") or die("ha fallado la conexion");
                            while(
$reg=$con ->fetch_assoc()){
                                echo 
"<option value='".$reg['id_colonia']."'>";
                                echo 
$reg['colonia'];
                                echo 
"</option>";
                            }
                        echo 
"</select></p>";
                    echo 
"<p><label>Escuela</label>";
                        echo 
"<select name='Escu' class='input' >";
                        
/*    echo "<option value='".$registro['id_escuela']."'>";
                            echo $registro['escuela'];
                            echo "</option>";*/
                            
echo "<option value='".$registro['id_escuela']."'>".$escuela."</option>";
                            
$consult $conexion -> query("select * from escuela order by escuela") or die("ha fallado la conexion");
                            while(
$r=$consult ->fetch_assoc()){
                                echo 
"<option value='".$r['id_escuela']."'>";
                                echo 
$r['escuela'];
                                echo 
"</option>";
                            }
                        echo 
"</select></p>";
                        echo 
"<p><label>Medio por el cual se enteró</label>";
                    echo 
"<select name='medio_entero' class='input'>";
                        echo 
"<option value='$medio'>";
                        echo 
$medio;
                        echo 
"</option>";
                        echo 
"<option value='amigo'>amigo</option>";
                        echo 
"<option value='cartel'>cartel</option>";
                        echo 
"<option value='correo'>correo electronico</option>";
                        echo 
"<option value='escuela'>escuela</option>";
                        echo 
"<option value='facebook'>facebook</option>";
                        echo 
"<option value='familiar'>familiar</option>";
                        echo 
"<option value='perifoneo'>perifoneo</option>";
                        echo 
"<option value='reingreso'>reingreso</option>";
                        echo 
"<option value='sitio_web'>sitio web</option>";
                        echo 
"<option value='vecino'>vecino</option>";
                        echo 
"<option value='volante'>volante</option>";
                    echo 
"</select></p>";
                    echo 
"<td> <INPUT TYPE='SUBMIT' class='modifica' name='Guardar' value='Actualizar' /></td>";
                    echo 
"</tr>";
                echo 
"</table>";
        echo 
"</form>";
echo 
"</body>";
echo 
"</html>";
?>

Este otro procesa los datos recibidos
Código PHP:

<?php
include 'conexion.php';
 
$idalumnos=$_POST['idalumnos'];
 
$nombre=$_POST['name'];
 
$paterno=$_POST['a_paterno'];
 
$materno=$_POST['a_materno'];
 
$sexo=$_POST['sexo'];
 
$edad=$_POST['edad'];
 
$tel=$_POST['telefono'];
 
$correo=$_POST['correo'];
 
$domicilio=$_POST['domicilio'];
 
$Colonia=$_POST['col'];
 
$Escuela=$_POST['Escu'];
 
$medio_entero=$_POST['medio_entero'];

$consulta $conexion -> query ("UPDATE alumnos SET nombres = '$nombre', a_paterno = '$paterno', a_materno = '$materno',
 sexo = '$sexo', edad = '$edad', telefono = '$tel', email = '$correo', domicilio = '$domicilio',
 id_colonia = $Colonia, id_escuela = $Escuela, medio_entero = '$medio_entero' where id_alumnos = $idalumnos"
);
echo 
'El registro se ha actualizado correctamente';

$conexion =null;
?>
  #2 (permalink)  
Antiguo 24/02/2016, 18:22
Avatar de xfxstudios  
Fecha de Ingreso: junio-2015
Ubicación: Valencia - Venezuela
Mensajes: 2.448
Antigüedad: 9 años, 5 meses
Puntos: 263
Respuesta: problema para actualizar datos

eres fanatico de los echo no jajaja, bueno a lo que venimos, cuando extraes los datos almacenados, estos selects se cargan con lo que esta guardado en tus tabla??????
__________________
[email protected]
HITCEL
  #3 (permalink)  
Antiguo 24/02/2016, 20:08
 
Fecha de Ingreso: julio-2013
Ubicación: Sonora
Mensajes: 5
Antigüedad: 11 años, 5 meses
Puntos: 0
Respuesta: problema para actualizar datos

Si, tengo una tabla para cada select y hago consulta a la bd para llenar los combos.
Pero el problema que tenia es que no me devolvía el valor guardado, pero si desplegaba la lista de items guardados en base de datos, por lo que opte por recogerlo en una variable (ya que al principio hago una consulta para seleccionar los datos que necesito editar ) e imprimirla en la primer opción del select.
Después viene la consulta a la tabla de colonias, que me devuelve todos los registros de esa tabla.

echo "<select name='col' class='input'>";
echo "<option value='".$registro['id_colonia']."'>".$colonia."</option>";
$con= $conexion -> query("select * from colonia order by colonia") or die("ha fallado la conexion");
while($reg=$con ->fetch_assoc()){
echo "<option value='".$reg['id_colonia']."'>";
echo $reg['colonia'];
echo "</option>";
}
echo "</select></p>";


Gracias por contestar, opte por imprimirlo mediante echo porque pense que de ahi venia el problema.
Saludos!

Etiquetas: formulario, html, registro, select, tabla
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:56.