Foros del Web » Programando para Internet » PHP »

valores asociados a una opcion en <select>

Estas en el tema de valores asociados a una opcion en <select> en el foro de PHP en Foros del Web. como muestro los valores asociados a una opcion en un select(lista desplegable). Quiero que cada vez que cambie la opcion me cambie el valor asociado ...
  #1 (permalink)  
Antiguo 26/02/2004, 09:31
 
Fecha de Ingreso: febrero-2004
Ubicación: Chillán
Mensajes: 35
Antigüedad: 13 años, 9 meses
Puntos: 0
Pregunta valores asociados a una opcion en <select>

como muestro los valores asociados a una opcion en un select(lista desplegable).

Quiero que cada vez que cambie la opcion me cambie el valor asociado

Ejemplo:

producto precio
Carne 2000
Pan 500

Ya tengo la lista con los valores.
  #2 (permalink)  
Antiguo 26/02/2004, 10:45
Avatar de Antonito  
Fecha de Ingreso: noviembre-2001
Ubicación: en la red
Mensajes: 446
Antigüedad: 16 años
Puntos: 3
Esto tienes que preguntarlo en javascript, si lo que necesitas es la parte de escribir el select con php es así :
Código PHP:
       Printf("<select name='ciudad'>");
    
$sql="";
    
$resultado mysql_query($sql);
    while(
$row mysql_fetch_array($resultado)) {
    
Printf("<option value=\"%s\" selected>%s</option>",$row["idciudades"],$row["ciudades"]);
    }
    
Printf("</select>"); 
saludos :)
__________________
Pancho - Consultor de usabilidad
  #3 (permalink)  
Antiguo 26/02/2004, 11:40
 
Fecha de Ingreso: febrero-2004
Ubicación: Chillán
Mensajes: 35
Antigüedad: 13 años, 9 meses
Puntos: 0
Cita:
Mensaje Original por Antonito
Esto tienes que preguntarlo en javascript, si lo que necesitas es la parte de escribir el select con php es así :
Código PHP:
       Printf("<select name='ciudad'>");
    
$sql="";
    
$resultado mysql_query($sql);
    while(
$row mysql_fetch_array($resultado)) {
    
Printf("<option value=\"%s\" selected>%s</option>",$row["idciudades"],$row["ciudades"]);
    }
    
Printf("</select>"); 
saludos :)




tengo entendido que tambien se puede hacer en PHP, además tu codigo no funciona ya que lo probe, hice la consulta y cambie los nombres de los campos y solo crea la lista vacia.
  #4 (permalink)  
Antiguo 26/02/2004, 11:40
 
Fecha de Ingreso: febrero-2004
Ubicación: Chillán
Mensajes: 35
Antigüedad: 13 años, 9 meses
Puntos: 0
tengo entendido que tambien se puede hacer en PHP, además tu codigo no funciona ya que lo probe, hice la consulta y cambie los nombres de los campos y solo crea la lista vacia.
  #5 (permalink)  
Antiguo 26/02/2004, 11:58
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Efectivamente, se puede hacer desde PHP.

La diferencia entre ambas soluciones (JS y PHP) radica en que con PHP la página debe volver a cargarse cuando seleccionas una opción de tu primera lista, y en javascript no.

Cuando usar cada una? depende de lo complejo de tus consultas secundarias, y de qué tanto estés dispuesto a depender de que el usuario tenga instalado javascript.

En este momento no tengo mucho tiempo disponible, pero te voy a dar la idea general...

Cuando se carga originalmente tu pagina, aparecerá llena solo la primera lista, y en la segunda aparecerá algo así como "--primero selecciona una ciudad--"

Y tu script tendrá mas o menos esta estructura:

<select name="ciudades" onchange="this.form.submit()">
Aqui tus opciones principales (Ciudades en mi ejemplo)
</select>

<select name="colonias">
<?
if (isset($_POST[ciudades])) { //Si se ha seleccionado una ciudad

/* creas tu consulta y generas la lista de colonias */
/* por ejemplo "SELECT * From colonias where ciudad=".$_POST["ciudades"]" */

} else {

echo "<option>--Primero selecciona una ciudad--</option>

}

?>
</select>


Got it??

__________________
Manoloweb
  #6 (permalink)  
Antiguo 27/02/2004, 04:40
Avatar de Antonito  
Fecha de Ingreso: noviembre-2001
Ubicación: en la red
Mensajes: 446
Antigüedad: 16 años
Puntos: 3
Lo que mas me jode, es lo borde que eres neogeo, y Manoloweb da su tiempo en explicar algo, que no me parecía apropiado, vamos que el código que te he puesto funciona, pero como no sabes php , no ves q la consulta SQL está vacia.

A leer un poco de php, que mucho matrix neogeo y ni idea de programar.
__________________
Pancho - Consultor de usabilidad
  #7 (permalink)  
Antiguo 27/02/2004, 05:41
 
Fecha de Ingreso: febrero-2004
Ubicación: Chillán
Mensajes: 35
Antigüedad: 13 años, 9 meses
Puntos: 0
Como te dije antes Antonito:

"hice la consulta" y cambie el nombre de los campos y crea la lista vacia.

Y por favor no te refieras mal a las personas si estamos aqui es para aprender, o a caso tu nacistes sabiendo de todo?

Bye.
  #8 (permalink)  
Antiguo 27/02/2004, 05:57
 
Fecha de Ingreso: febrero-2004
Ubicación: Chillán
Mensajes: 35
Antigüedad: 13 años, 9 meses
Puntos: 0
Antonito este es el código que pusistes con la consulta y las modificaciones que le hice al nombre de los campos:

<?php
include('conexion.php');

Printf("<select name='ciudad'>");
$sql="SELECT * FROM maestroproductos";
$resultado = mysql_query($sql);
while($row = mysql_fetch_array($resultado)) {
Printf("<option value=\"%s\" selected>%s</option>",$row["codigo_mp"],$row["nombre_mp"]);
}
Printf("</select>");

?>

que problema puede tener?
  #9 (permalink)  
Antiguo 27/02/2004, 07:06
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
La solución "PHP" que plantean la tienen implementada en esta FAQ nº 53 (de este foro PHP):

Y esta opción que usa técnicas de "Remote Scripting" (con uso de Javascript (mucho) y PHP con su acceso a BD o lo que corresponda) es muyy interesante:

http://www.ashleyit.com/rs/jsrs/select/php/select.php

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 27/02/2004, 07:44
 
Fecha de Ingreso: febrero-2004
Ubicación: Chillán
Mensajes: 35
Antigüedad: 13 años, 9 meses
Puntos: 0
Gracias Cluster por el dato pero los FAQ del Foro no estan disponibls por el traslado de los servidores y esas yerbas.
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 18:11.