Ver Mensaje Individual
  #9 (permalink)  
Antiguo 06/06/2006, 01:42
Avatar de nosoynadie
nosoynadie
 
Fecha de Ingreso: noviembre-2005
Ubicación: dando vueltas por aquí
Mensajes: 206
Antigüedad: 18 años, 4 meses
Puntos: 1
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
__________________
http://www.nosoynadie.net/