PHP - cargar datos de la base de datos en el formulario php

   
Vista:

cargar datos de la base de datos en el formulario php

Publicado por edwin (3 intervenciones) el 07/05/2016 02:53:16
cordial saludo

estoy haciendo una pagina web con una base de datos para registrar usuarios de un gimnasio y registrar sus medidas, tengo un formulario donde ingreso los datos del usuario y quiero que al ingresar la cedula y darle enter si el numero de cedula ya esta registrado me triga al formulario los datos de este usuario, aparte de esto necesito hacer una validación o poner una condición para que cuando el usuario ya este registrado yo pueda ingresar los datos de sus medidas sin que se me presente duplicidad en los datos por la tabla usuario o sea omitir el registro de la tabla usuarios y solo registrar los datos en la tabla medidas. de antemano agradezco su ayuda.

GuardarRegistro1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
<!DOCTYPE html>
<html>
<head>
	<title></title>
</head>
<body>
	<?php
	/**
	* 
	*/
			//se obtienen todos los datos ingresados en el formulario
 
 
			$Cedula = $_POST["id_afiliado"];
			$Nombre = $_POST["nombre"];
			$Apellido = $_POST["apellido"];
			$Direccion = $_POST["direccion"];
			$Telefono = $_POST["telefono"];
			$Telefonoalt = $_POST["telefonoalt"];
			$Edad = $_POST["edad"];
			$Observaciones = $_POST["observacion"];
			$Anio = $_POST["anio"];
			$Fechai = $_POST["fecha_ini"];
			$Fechaf = $_POST["fecha_final"];
 
 
            $m = $_POST["id_mes"];
            $Peso = $_POST["peso"];
			$Imc = $_POST["imc"];
			$Igc = $_POST["igc"];
			$Antebrazo = $_POST["antebrazo"];
			$Pecho = $_POST["pecho"];
			$Cintura = $_POST["abdomen"];
			$Abdomen = $_POST["cintura"];
			$Cadera = $_POST["cadera"];
			$Pierna = $_POST["pierna"];
			$Pantorrilla = $_POST["pantorrilla"];
			$Pulsacionr = $_POST["pulsacion_min"];
			$Pulsacionm = $_POST["pulsacion_max"];
			$Presion = $_POST["presion"];
			$error = "";
 
 
 
			//lo siguiente es para verificar que se hayan llenado todos los campos poruqe son obligatorios
 
			if ($Cedula == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Nombre == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Apellido == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Direccion == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Telefono == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Edad == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Observaciones == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Fechai == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Fechaf == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Peso == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Imc == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Igc == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Antebrazo == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Pecho == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Cintura == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Abdomen == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Cadera == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Pierna == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Pantorrilla == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Pulsacionr == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Pulsacionm == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
			if ($Presion == "") {
				$error.="El campo no puede quedar vacio</br>";
			}
 
 
			if ($error != "") {
				echo '<h2>'.$error.'</h2>';
				echo '<a href = "javascript:history.back(1)" >Volver al formulario sin borrar datos</h2>';
			}else
 
			{
				//llamado a la clase de conexion a la db
				include_once("conexion.php");
 
 
 
				$query = "SELECT * FROM afiliado WHERE id_afiliado=".$Cedula."";
				$result = mysql_query($query,$conn) or die(mysql_error());
 
				if(mysql_num_rows($result)==""){
 
 
					$sql = "INSERT INTO medidas (id_mes, peso, imc, igc, antebrazo, pecho, abdomen, cintura, cadera, pierna, pantorrilla, pulsacion_min, pulsacion_max, presion, afiliado_id_afiliado)

				     VALUES ('".$m."', '".$Peso."', '".$Imc."', '".$Igc."', '".$Antebrazo."', '".$Pecho."', '".$Abdomen."',
				     '".$Cintura."', '".$Cadera."', '".$Pierna."', '".$Pantorrilla."', '".$Pulsacionr."',
				     '".$Pulsacionm."', '".$Presion."', '".$Cedula."')";
 
                if ($conn->query($sql) === TRUE) {
				    echo "El registro medidas fue exitoso";
				} else {// sino, notifica el error
				    echo "Error: " . $sql . "<br>" . $conn->error;
				}
 
				}else{
 
 
				$sql = "INSERT INTO afiliado (id_afiliado, nombre, apellido, direccion, telefono, telefonoalt, edad,
				observacion, anio, fecha_ini, fecha_final)

					VALUES ('".$Cedula."', '".$Nombre."','".$Apellido."','".$Direccion."','".$Telefono."','".$Telefonoalt."',
					'".$Edad."', '".$Observaciones."', '".$Anio."', '".$Fechai."', '".$Fechaf."')";
 
                if ($conn->query($sql) === TRUE) {
				    echo "El registro afiliado fue exitoso";
				} else {// sino, notifica el error
				    echo "Error: " . $sql . "<br>" . $conn->error;
				}
 
 
				$sql = "INSERT INTO medidas (id_mes, peso, imc, igc, antebrazo, pecho, abdomen, cintura, cadera, pierna, pantorrilla, pulsacion_min, pulsacion_max, presion, afiliado_id_afiliado)

				     VALUES ('".$m."', '".$Peso."', '".$Imc."', '".$Igc."', '".$Antebrazo."', '".$Pecho."', '".$Abdomen."',
				     '".$Cintura."', '".$Cadera."', '".$Pierna."', '".$Pantorrilla."', '".$Pulsacionr."',
				     '".$Pulsacionm."', '".$Presion."', '".$Cedula."')";
 
                if ($conn->query($sql) === TRUE) {
				    echo "El registro medidas fue exitoso";
				} else {// sino, notifica el error
				    echo "Error: " . $sql . "<br>" . $conn->error;
				}
				//cierro la conexion
 
				$conn->close();
			}
		}
 
		?>
 
 
</body>
</html>
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de kip13

cargar datos de la base de datos en el formulario php

Publicado por kip13 (571 intervenciones) el 08/05/2016 23:30:42
Podrias usar Ajax para cargar los datos de la base a tu formulario al momento de escribir la cédula, sin necesidad de recargar la página. Con respecto a o de ingresar las medidas pues bien podrias hacer dos formularios, el primero que seria el del registro y el otro el de las medidas, en ambos podrias colocar la condicion de verificar primero la cedula a ver si existe el usuario, en el formulario de ingresar las medida si existe el usuario pues simplemente harias un UPDATE a la tabla de los campos de las medidas.

Tambien lo que podrias hacer para no hacer dos formularios pues simplemente si al momento de ingresar la cedula y encuentra un registro carrgar todos los datos y desactivar que no puedas modificar nada mas que las medidas, es decir, ingresas la cedula se cargan los datos que existan, se desactivas los inputs que desees y quedarian activados los de las medidas y al momento de hacer el submit pues se ejecuta un UPDATE de solo los campos de medidas.

Espero te sirva, si necesitas algo mas avisas.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

cargar datos de la base de datos en el formulario php

Publicado por edwin (3 intervenciones) el 09/05/2016 04:14:46
Gracias kip13 por su respuesta, la verdad es que como puedes ver en la línea 126 a la 129 trate de hacer que si la cédula del afiliado existe solo insertará los datos de las medidas PERO me daba error, y no se como hacer el código para que me traiga los datos ya existentes de la base de datos Mysqul al formulario php, si te queda fácil me puedes hacer un ejemplo. Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip

cargar datos de la base de datos en el formulario php

Publicado por kip (571 intervenciones) el 09/05/2016 08:04:19
Ya veo, mira:

Tienes esto asi:
1
if(mysql_num_rows($result)=="")

Y deberia ser asi:
1
if(mysql_num_rows($result) != 0 )

Asi deberia ser la evaluacion para saber si el query de la consulta del id del afiliado en la tabla afiliado es verdadera, recuerda que te devuelve un boolean es decir un true o un false, y con esa linea que te deje verificas que sea verdadera, es decir diferente de cero.
Y me fije que tienes dos querys con el mismo nombre cuando ingresas los datos en la tabla afiliados y medidas, deberian tener diferentes nombres ya que estan en una misma evaluacion, aunque es mas deberian estar relacionadas esas dos tablas.

Ahora te pregunto algo que recien me doy cuenta, tienes dos tablas diferentes, una para medidas y otra para los datos del afiliado, ambas tiene una llave primaria que seria el id_afiliado si no me equivoco, te recomiendo hacer una clave foranea en la tabla medidas para que se encuentren relacionadas, la clave foranea seria id_afiliado que tendria de referencia el campo id_afiliado de la tabla afiliado y muy a parte esta tabla medidas tendria un id autoincrementable y primario que seria id_medida, solo es un consejo y algo que te ayudara mucho si deseas relacionar tablas, creo que deberias leer algo sobre ello ya que tienes dos tablas que de por si estan relacionadas.

Ahora bien, cargar datos de un afiliado si el num de cedula se encuentra en la base, te recomiendo AJAX que es algo mas complicado pero mucho mas efectivo y quizas puedas hacerlo en tiempo real sin necesidad de recargar la pagina.
Por otro lado podria decirte que en los values de cada input de el formulario coloques algo asi:

1
value="<?=$row["dato"];>"

Pero no se como tengas tus archivos, si el php que almacena y el formulario estan en dos archivos separados, eso interfiere, el codigo del query para buscar los datos del afiliado segun su cedula pues deberian estar en el mismo archivo del form, si no me equivoco, esto es para poder realizar lo que deseas de una manera mas facil y no uses AJAX.

Te dejo un ejemplo:

1
2
3
<input type="text" value="<?php echo $registros['nombre']?>">
<input type="text" value="<?php echo $registros['apellidos']?>">
<input type="text" value="<?php echo $registros['edad']?>">

Me gustaria saber como tienes organizado los archivos donde ingresas y donde guardas, si estan separados o junto en uno solo, si puedes coloca el codigo.

Avisame si te sirvio y si tienes alguna duda

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

cargar datos de la base de datos en el formulario php

Publicado por edwin (3 intervenciones) el 11/05/2016 09:04:45
Cordial saludo kip

De antemano gracias por tus respuestas, con lo que me indicaste solucione la consulta, en cuanto a al formulario decidí hacer dos con sus respectivos archivos, no intente lo del ajax ya que me demandaba más tiempo para entenderlo y aplicarlo y la verdad tiempo no tengo debo hacer la entrega de la actividad lo más pronto posible.
De gusto saber que hay personas dispuestas a ayudar a principiantes como yo, de nuevo muchas gracias kip.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar