Ufff aver primero tienes que lograr un select con todos los nombres eso lo peudes hacer así
Código PHP:
<select name="nombre">
<option value="" selected> -- Seleccione un nombre -- </option>
<?php
$con = mysql_connect("localhost","user","pass");
mysql_select_db("db", $con);
$result = mysql_query("SELECT nombre FROM tabla");
while($row = mysql_fetch_array($result)) {
?>
<option value="<?php echo echo $row['nombre']; ?>"><?php echo echo $row['nombre']; ?></option>
<?php
}
mysql_close($con);
?>
</select>
Ahora tienes dos opciones, hacer la actualización del contenido de la tabla mediante ajax o regargando la página, el ejemplo que te daré es recargando la página que es más sensillo para que entiendas, si luego quieres hacerlo con ajax date unas vueltas por el foro correspondiente
Código PHP:
<html>
<head>
<title>prueba.php</title>
<body>
<?php
$con = mysql_connect("localhost","user","pass");
mysql_select_db("db", $con);
?>
<form action="prueba.php" method="get">
<select name="nombre">
<option value="" selected> -- Seleccione un nombre -- </option>
<?php
$result = mysql_query("SELECT nombre FROM tabla");
while($row = mysql_fetch_array($result)) {
?>
<option value="<?php echo echo $row['nombre']; ?>"><?php echo echo $row['nombre']; ?></option>
<?php
}
?>
</select>
</form>
<table>
<tr>
<td>ID</td>
<td>Nombre</td>
<td>Apellido</td>
</tr>
<?php
$nombre = $_GET['nombre'];
if($nombre == '') {
$result = mysql_query("SELECT * FROM tabla");
} else {
$result = mysql_query("SELECT * FROM tabla WHERE nombre='$nombre'");
}
while($row = mysql_fetch_array($result)) {
?>
<tr>
<td><?php echo $row['ID']; ?></td>
<td><?php echo $row['Nombre']; ?></td>
<td><?php echo $row['Apellido']; ?></td>
</tr>
<?php
}
mysql_close($con);
?>
</table>
</body>
</html>
Espero te sea util.
Saludos