PHP - validar dos variables

   
Vista:

validar dos variables

Publicado por zendi (824 intervenciones) el 07/05/2015 14:45:23
Por favor ahora si necesito una ayuda.

Estoy validando 2 variables una es nrohistoria y la otra es la cedula.
Explico: para pedir una cita se debe poseer un nro de historia, pero antes de poseerla se debe inscribir con la cedula;
una vez que se inscribe con la cedula se crea el nro de historia, que ya funciona.

El problema es que no se como validar la cedula,

este es el codigo:

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
<table width="200" align="center" class="bordetbl1">
		<tr>
		  <td class="tit1">Escriba su Nro de Historia:</td>
		  <td><input type="text" name="nrohistoria" id="nrohistoria" size="8"></td>
       	  <td><input type="text" name="cedula" size="15" maxlength="15" align="right" class="color1"/></td>
          <td><input type="submit" name="buscar" value="Buscar"></td>
		</tr>
</table>
<?php
////////valida nrohistoria
$nrohistoria = $_POST['nrohistoria'];
$cedula = $_POST['cedula'];
if($nrohistoria && $_POST['buscar'])
{
$query="SELECT nrohistoria FROM public.pacientes WHERE nrohistoria=$nrohistoria";
$res=@pg_query($connect,$query);
      if(@pg_num_rows($res)==0)
        {
			   ?>
			   <script type='text/javascript'>
			   var agree=confirm("El Nro de Historia aún no esta Registrado.\nDebe registrarse con la Cedula del Representante\n¿Desea Registrarse Ahora mísmo?");
			   if (agree)
				   window.location='crearhistoria.php?nro=<?php echo $cedula?>';
			   else
                window.location='citas.php';
			   </script>
			   <?php
        }
      else
        {
			if ($_POST['nrohistoria'])
   			   {
    		   $consulta2 = "SELECT pacientes.nrohistoria,
	    	    		             pacientes.nombres,
						             pacientes.apellidos,
									 pacientes.direccion,
  								     pacientes.cta_correo,
									 pacientes.telefono,
									 pacientes.fecha_nac,
									 public.sexo.descripcion As sexo,
									 public.gsanguineo.descripcion As sanguineo,
									 pacientes.id_paciente
							    FROM pacientes,sexo,gsanguineo
							   WHERE public.pacientes.cod_sexo=sexo.codigo
								 AND public.pacientes.cod_sanguineo=gsanguineo.codigo
								 AND public.pacientes.nrohistoria = {$_POST['nrohistoria']}";
							$consulta3 = @pg_query($connect,$consulta2);
							$consulta3 = @pg_fetch_array($consulta3);
 
/////////////////////// validar por la cedula
                                                       if($cedula && $_POST['buscar'])
                                                            {
                                                               $queryc="SELECT cedula FROM public.pacientes WHERE cedula=$cedula";
                                                                   $resc=@pg_query($connect,$queryc);
                                                                     if(@pg_num_rows($resc)==0)
                                                                            {
                                                   			   ?>
			                                                      <script type='text/javascript'>
                                                        			   var agree=confirm("El Nro de cedula aún no esta Registrado.\nDebe   registrarse con la Cedula del Representante\n¿Desea Registrarse Ahora mísmo?");
                                                			   if (agree)
                                                				   window.location='crearhistoria.php?nro=<?php echo $cedula?>';
                                                   			   else
                                                                                  window.location='citas.php';
                                       			                       </script>
                           			   			   <?php
 
                                                                   }
                                                              }
 
 
///////////////////////
			     }
					?>
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 xve

validar dos variables

Publicado por xve (5523 intervenciones) el 07/05/2015 21:08:41
Hola Zendi, segun entiendo, tienes que buscar-lo en la base de datos verdad?

Puede ser algo así:
1
$queryc="SELECT cedula FROM public.pacientes WHERE cedula=".$cedula." AND nrohistoria=".nrohistoria;

Coméntanos, ok?
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

validar dos variables

Publicado por zendi (824 intervenciones) el 09/05/2015 02:19:13
Hola Xve, lo probaré con este query y te aviso.
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

validar dos variables

Publicado por zendi (824 intervenciones) el 10/05/2015 20:33:22
Bueno ya probé el query pero no funcionó. De todas maneras gracias. Lo validaré con un solo campo: la cedula.
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

validar dos variables

Publicado por zendi (824 intervenciones) el 11/05/2015 14:01:03
Que tal xve, bueno disculpa que moleste por aqui nuevamente, ahora si debo pedir la consulta a través de dos campos la cedula y apellido. En realidad yo se como hacer esta consulta.
1
Query= "SELECT cedula, apellidos FROM pacientes WHERE cedula = 6544 AND apellidos = 'MONTEVERDE' "
El asunto es que en el codigo para php, no se como preguntar cuando traiga el resultado y preguntar cuando se igual a 0,

tengo este trozo de codigo:
1
2
3
4
5
if($cedula && $apellido && $_POST['buscar'])
 
$query="SELECT cedula FROM public.pacientes WHERE cedula=$cedula AND apellidos="$apellidos"";
		$res=@pg_query($connect,$query);
			  if(@pg_num_rows($res)==0)
en ste caso dira que no encuentra este registro.

El asunto es que no tengo claro cuantas preguntas debo hacer con el query, ya que el usuario pudiera pedir una cedula que exista y un apellido que no exista, o una cedula que no exista y un apellido que sí.

De todos modos estoy trabajando en como resolverlo,
si tienes algun ejemplo, enviamelo por favor.
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 Alberto

validar dos variables

Publicado por Alberto (222 intervenciones) el 11/05/2015 16:38:38
Hola...

Por lo veo que tienes la lógica por lo cual solo es cuestión de pulir el código, como bien mencionas tenemos que buscar la cédula en la base de datos ya que es la que nos indicara si existe o no el registro, quedando algo parecido a la siguiente manera...

1
2
3
4
5
6
7
$cedula=$_POST['cedula'];
$result=pg_query($conexion,"SELECT * FROM tutabla WHERE cedula='".$cedula."'");
if($row=pg_affected_rows($result)>0){
	echo $row['cedula'];
} else {
	echo "LA CEDULA NO EXISTE";
}

A mi opinión solo deben existir dos casos ya que o existe o no existe por lo que una validación sencilla debe ser suficiente.

Sin mas que comentar, cualquier duda y/o inconveniente aquí estamos. Suerte!
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

validar dos variables

Publicado por zendi (824 intervenciones) el 11/05/2015 22:00:32
Que tal.... pero no seria buena idea obligar al usuario a que incluya bien el apellido? De todos modos Voy a implementar tu sugerencia y te aviso...
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

validar dos variables

Publicado por zendi (824 intervenciones) el 11/05/2015 22:56:03
Hola alberto...

Bueno aplique tu codigo y funciona.

Ahora bien quiero que veas que estoy preguntando por la variable apellido y no pasa por esa validacion
este es el codigo de todas las validaciones:

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
$cedula=$_POST['cedula'];
 
if($cedula && $_POST['buscar'])
{
$result=pg_query($conexion,"SELECT * FROM pacientes WHERE cedula='".$cedula."'");
 
if($row=pg_num_rows($result)>0){
 
 
 
	echo "LA CEDULA NO EXISTE";
 
}
}
 
////////////////////// valida cedula en blanco
/*$cedula = $_POST['cedula'];
if(empty($cedula) && $_POST['buscar'])
{
   echo "<script type='text/javascript'>
	alert('Debe escribir su Cédula antes de Seguir');
	window.location='';
	</script>";
}
*/		$nrohistoria = $_POST['nrohistoria'];
		$cedula = $_POST['cedula'];
		$apellido = $_POST['apellido'];

	if($apellidos && $_POST['buscar'])
      {
   	  echo $query1="SELECT apellidos FROM public.pacientes WHERE apellidos=$apellido";
						$resc=@pg_query($connect,$query1);
							  if(@pg_num_rows($resc)==0)
								{
								   echo "<script type='text/javascript'>
									alert('El Apellido no existe');
									window.location='';
									</script>";
								}
						}
		
		if($cedula && $_POST['buscar'])
		{
		echo $query="SELECT cedula FROM public.pacientes WHERE cedula=$cedula";
		$res=@pg_query($connect,$query);
			  if(@pg_num_rows($res)==0)
				{
					   ?>
					   <script type='text/javascript'>
					   var agree=confirm("La Cedula aún no esta Registrada.\nDebe registrarse con la Cedula del Representante\n¿Desea Registrarse Ahora mísmo?");
					   if (agree)
						   window.location='crearhistoria.php?nro=<?php echo $cedula?>';
					   else
						window.location='citas.php';
					   </script>
					   <?php
				}
			  else
				{
					if ($_POST['cedula'])
					   {
					   $consulta2 = "SELECT pacientes.nrohistoria,
											 pacientes.nombres,
											 pacientes.apellidos,
											 pacientes.direccion,
											 pacientes.cta_correo,
											 pacientes.telefono,
											 pacientes.fecha_nac,
											 pacientes.id_paciente
										FROM pacientes
									   WHERE public.pacientes.cedula = {$_POST['cedula']}";
									$consulta3 = @pg_query($connect,$consulta2);
									$consulta3 = @pg_fetch_array($consulta3);
		
										
						 }
						 
			?>

Saludos.
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