select vinculados

SiNSoNiDo

tengo una bd con una tabla empleado q tiene los campos dni, nombre, apellido1 y apellido2.
lo q kiero hacer es q mediante una consulta sql me sake en los options de un select los dnis q tenga en la bd (hasta akí ningún problema, esto lo se hacer). La cosa es q yo kiero q según el dni q escojas aparezca en otro select (u otro input) el nombre y los apellidos q correspondan al dni elegido (todo dentro de la misma página).
encontré en http://www.forosdelweb.com/s1fbd27726d521d994e9bb36f62ddb65c/msg197799.html algo q se asemeja a lo q yo kiero hacer pero al intentar adaptarlo pues no me funciona.
question: alguno sabe cómo hacer esto q yo digo?
thx

Deathtime

creo k se hace asi

Select (insertarloquesea) insert into (taltabla)
from (tabla);

si no es insert prueba con solo into

Whose

#2 pero tio xDDDDDDDD eso se lo sabe de memoria...lo que el quiere que segun el resultado de un campo, en los option se inserten otros campos de esa misma id.

Yo la verdad no tengo ni idea, lo siento.

Deathtime

pos ni idea sorry, yo es k se poco de sql, solamante pa hacer consultillas de na en access.

PiradoIV

Podrías hacer un formulario inicial:

Introduce tu DNI:
________-

[OK] [BORRAR]

Y cuando le dieses a OK, te manda a un segundo formulario en el que sacas los datos de una consulta "... WHERE dni = $_POST[dni]".

Por otra parte, si quieres hacer un menú desplegable con todos los DNI's disponibles y que cuando pinches en uno de la lista se rellenen todos los datos, podrías hacer una consulta y sacar el listado, luego con JavaScript (en www.dynamicdrive.com tienes) decirle que cuando se pinche en uno de la lista del menú desplegable... cargue la misma página pero enviando el "dni" como GET:

<?php
if(!isset($GET[dni])) {
// Código a mostrar si no se ha seleccionado un DNI
} else {
// "... WHERE dni = $
GET[dni]"
}
?>

Creo que es lo que pides, saludotes,
Pirado IV estuvo akí ;)

SiNSoNiDo

gracias oso amoroso... digo piradoiv XD
voy a ver q puedo hacer con el temilla este.

PiradoIV

A mandar ;)

O

tu kieres k t salgan los campos (x ejemplo ) :
nombre, apellidos, color de pelo del pecho WHERE dni = el ke elegiste

no?

Pues si entendí bien, pq no le pasas el valor del dni k eliges en el formulario con el method=post y especificas en la url el valor :

verdatos.php?dni=<?=$dni_elegido?> y luego en la select usas esa variable

no sé si t entendi bien, espero k t sirva

un saludo :)

m3tr0

haces una consulta el la pagina 1 con todos los dnis y que linken a otra pagina.
Ej:

echo "<a href=\"info.php?dni=$row[dni]\">$row[dni]</a>";

y en info.php:

SELECT from tablalol WHERE (dni==$dni)

PD: Tp me creas mucho la sintaxis porque hace tiempo que no le doy al php y lo tengo olvidao xD

Chulla

puedes cargar todos los DNI de tu tabla en el select con una simple funcion ( o sin ella), y luego enviarlos como dice el #5 ( en vez de introducir el DNi y tal)

según dices tienes 4 campos :

dni, nombre, apellido1 y apellido2 ( añadiendo usuario_id ..)

funcion :

function seleccion_dni($check,$name)
{
global $db_dni; // db dni
$result = "<SELECT name=\"$name\">";
$sql = consulta_mysql("SELECT * FROM $db_dni ORDER BY dni DESC ");
while ($row = mysql_fetch_array($sql))
{
$usuario_id = stripslashes($row["usuario_id"]);
$dni = $row["dni"];
$nombre = stripslashes($row["nombre"]);
$apellido1 = stripslashes($row["apellido1"]);
$apellido2 = stripslashes($row["apellido2"]);


		$selected = ($row["dni"]== $check) ? 'selected' : '';
		$result .= "<option value=\"".$row["dni"]."\" $selected>".$dni."</option>";
		}
	$result .= "</select>";
	return ($result);
	}

[/b]

Abreu

La mejor solucion es un formulario que se envie cuando cambie el campo DNI. La pagina se recargaria y entonces podrias conseguir los valores de la base de datos asociados a ese DNI.

Es un putadon tener que enviar la pagina cada vez que cambies un campo pero es lo que hay.

Usuarios habituales