Hola, te paso un ejemplo de un select con los productos que, al seleccionar uno de ellos, te muestra los detalles.
En el ejemplo he cambiado el array de resultados, pasando del que tú tienes que es el traido de la base de datos a uno creado por mi. Cuando comprendas este ejemplo, quita las líneas que no necesites. Lo que has de ver es que:
1. encierro el select dentro de un formulario
2. al seleccionar un elemento, mediante la función de javascript 'salta', envío el formulario.
3. recojo el valor enviado por el formulario, selecciono el elemento a monstrar y lo muestro.
Código PHP:
<?
// esta array es parte de mi ejemplo, puedes quitarlo
$linea = array();
$linea[1]['nombre_prod'] = 'prod1';
$linea[1]['existencia'] = '1';
$linea[1]['unidad'] = '4';
$linea[1]['nombre_fam'] = 'Quesos';
$linea[2]['nombre_prod'] = 'prod2';
$linea[2]['existencia'] = '0';
$linea[2]['unidad'] = '10';
$linea[2]['nombre_fam'] = 'Hortalizas';
if(!isset($_POST) or empty($_POST)){
// codigo que se ejecutará antes de seleccionar un producto
echo <<<EOF
<script type='text/javascript'>
function salta(){
document.frmProd.submit();
}
</script>
EOF;
//$sql=pg_query($conexion,"select nombre_prod,existencia,unidad,nombre_fam from productos, familia where productos.id_familia=familia.id_familia order by nombre_prod;")or die ("ya hubo pex....no pude hacer la consulta");
echo '<form name="frmProd" action="'.$_SERVER['PHP_SELF'].'" method="post">';
echo '<table>';
echo '<tr>';
echo '<td>';
echo '<select name="prod" onchange="salta()">';
//while($linea = pg_fetch_array($sql, null, PGSQL_ASSOC)){
$cont=1; // esto es de mi ejemplo, puedes quitarlo
echo '<option value="">Selecciona un producto</option>';
while($cont <= count($linea)){ // esto es de mi ejemplo, puedes quitarlo
//echo '<option value='.$linea['id_producto'].'>'.$linea['nombre_prod'].'</option>';
echo '<option value='.$cont.'>'.$linea[$cont]['nombre_prod'].'</option>';
$cont++; next($linea); // esto es de mi ejemplo, puedes quitarlo
}
echo '</select>';
echo '</td>';
echo '</tr>';
echo '</table>';
}
else{
// codigo que se ejecutará despues de seleccionar un producto
//$sql=pg_query($conexion,"select nombre_prod,existencia,unidad,nombre_fam from productos, familia order by nombre_prod;") or die ("ya hubo pex....no pude hacer la consulta");
$id = (int)addslashes($_POST['prod']);
echo '<table>';
// while($linea = pg_fetch_array($sql, null, PGSQL_ASSOC)){
reset($linea); // esto es de mi ejemplo, puedes quitarlo
echo '<tr>';
echo '<td>Nombre:</td>';
echo '<td><input type="text" name="nombre" value="'.$linea[$id]['nombre_prod'].'" size="5" /></td>';
echo '<td>Existencia:</td>';
echo '<td><input type="text" name="exis" value="'.$linea[$id]['existencia'].'" size="5" /></td>';
echo '<td>Unidad:</td>';
echo '<td><input type="text" name="unidad" value="'.$linea[$id]['unidad'].'" size="5" /></td>';
echo '<td>Familia:</td>';
echo '<td><input type="text" name="fam" value="'.$linea[$id]['nombre_fam'].'" size="15" /></td>';
echo '</tr>';
//}
echo '</table>';
}
?>
Leelo con calma que es muy sencillo. Ciao