Foros del Web » Programando para Internet » PHP »

Consulta solicitando dni

Estas en el tema de Consulta solicitando dni en el foro de PHP en Foros del Web. Hola, pues bien lo que intento hacer es que mediante un formulario donde se solicita el dni, me abra una pagina donde se vean los ...
  #1 (permalink)  
Antiguo 21/06/2006, 05:06
 
Fecha de Ingreso: junio-2006
Mensajes: 7
Antigüedad: 17 años, 10 meses
Puntos: 0
Pregunta Consulta solicitando dni

Hola, pues bien lo que intento hacer es que mediante un formulario donde se solicita el dni, me abra una pagina donde se vean los datos de ese dni, es decir nombre, apellidos, etc pero en forma de documento. Por ejemplo:
(A día de hoy D. ________ con domicilio en ________ el cual ...etc.)
Lo he intentado una y mil veces pero a la hora de mostrar los datos de la base de datos no sale nada solo me muestra el documento con los datos que son fijos.
Este es el codigo:

Código PHP:
<html>
<head>
<title>Ingreso</title></title>
</head>
<body bgcolor="cfe0d0" alink="#FFFFFF" vlink="#FFFFFF">
<?php 

  
function Conectarse() 

   if (!(
$link=mysql_connect("localhost","usuario","pass"))) 
   { 
      echo 
"Error conectando a la base de datos."
      exit(); 
   } 
   if (!
mysql_select_db("inscripcion",$link)) 
   { 
      echo 
"Error seleccionando la base de datos."
      exit(); 
   } 
   return 
$link


$link=Conectarse(); 
echo 
"conectado<br>"


if(
trim($dni) != "")   // Esta condicional comprueba que el DNI no esté en blanco, si no lo está hace lo que pone hasta el else, sino, hace el códico a partir de esa sentencia. %dni es el nombre del campo del formulario en el que se introduce el DNI

   
$sql="select * from tabla where dni='$dni'";  // busca en la tabla nombre_tabla, en el campo DNI todos los que coincidan con el valor del formalario DNI ($dni)
   
$row mysql_query($sql) or die('La consulta fall&oacute;: ' mysql_error());
  
  echo 
"<b><h1>Hoja de inscripción</h1></b><br><br>";                      // Es un miniimpreso en el que pondrá el título "Formulario de registro" en negrita y más grande, y despues algunos campos.
  
echo "Nombre: ".$row["nombre"]." Apellidos: ".$row["apellidos"]."<br><br>";  // NOMBRE, APELLIDOS,  son los nombres en de los campos de la base de datos.
     

else 

   echo 
"<center><table width='300' cellpadding='5' cellspacing='5' border='1' bordercolor='#009900' bgcolor='#A7E0B0'><tr><td><center>"
   echo 
"Debe rellenar todos los campos<br><br>"
   echo 
"<a href='ficha.htm'>Continuar</a></center></td></tr></table></center>";  // en el caso de no rellenar todos los campor da un mensaje de error y hay un enlace para volver a la página de registro (en este caso ingresar.htm)

include 
"cerrar_conexion.php";
?>

</body>
</html>
Muchas gracias por la colaboración prestada.

Última edición por Cluster; 21/06/2006 a las 07:03
  #2 (permalink)  
Antiguo 21/06/2006, 05:17
Avatar de Azrael666  
Fecha de Ingreso: noviembre-2004
Mensajes: 652
Antigüedad: 19 años, 5 meses
Puntos: 1
$row = mysql_query($sql) or die('La consulta fall&oacute;: ' . mysql_error());

despues de esto haz:

$resultado = msql_fetch_array($row);

y ya lo tienes en $resultado['nombre'] $resultado['apellidos'] etc..

prueba a ver..
__________________
ALOZORRO v5.0 (ahora en .es)
  #3 (permalink)  
Antiguo 21/06/2006, 06:47
 
Fecha de Ingreso: junio-2006
Mensajes: 7
Antigüedad: 17 años, 10 meses
Puntos: 0
Probaré a ver, de todas formas muchas gracias por tu ayuda Azrael666.
Te comentaré como me ha ido.
Un saludo.
  #4 (permalink)  
Antiguo 21/06/2006, 07:12
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Otro detalle ...

Intenta hacer una validación de que si tu consulta SQL arroja resultados antes de pretender accederlos .. Imagina el caso en que ese "DNI" no exista .. (por un valor introducido intencionalmente no correcto ... por qué simplement no exista ..) .. Para ello puedes usar mysql_num_rows()

Por otro lado tienes un problema de "conceptos" en el uso o lo que representan o generan algunas funciones de Mysql:

mysql_query() "ejecuta" una consulta SQL dada .. pero NO es la función para "obtener sus resultados" .. dicha función sólo generar un "record-set" .. un "resultado" ..

Por ende se suele asignar a una variable tipo:

Código PHP:
$resultado=mysql_query($sql) or die (mysql_error()); 
Y luego .. con alguna función tipo:
mysql_fetch_array() ... (o del grupo _fetch_ ...) ó mysql_result() .. ahí accedes a los "resultados".

Código PHP:
$row=mysql_fetch_array($resultado); 
Ahí ya puedes acceder a tu $row['nombre_campo'] ..

Quedaría algo tipo:

Código PHP:
$resultado=mysql_query($sql) or die (mysql_error());
if (
mysql_num_rows($resultado)){
$row=mysql_fetch_array($resultado);
   echo 
$row['blablaal'];
} else {
   echo 
"No hay resultados";

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 21/06/2006, 16:38
 
Fecha de Ingreso: junio-2006
Mensajes: 7
Antigüedad: 17 años, 10 meses
Puntos: 0
Sonrisa

Muchas gracias a los dos, ya he resuelto el problema, gracias a vuestra colaboración.
Recibid un cordial saludo.
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




La zona horaria es GMT -6. Ahora son las 21:07.