Foros del Web » Programando para Internet » PHP »

Valor en select dependiendo de variable php

Estas en el tema de Valor en select dependiendo de variable php en el foro de PHP en Foros del Web. Que tal!!!!!!!!! estoy desarrollando una aplicacion donde un usuario elige un determinado registro, cuando realiza su eleccion se le presenta un formulario para que modifique ...
  #1 (permalink)  
Antiguo 09/03/2009, 15:22
 
Fecha de Ingreso: octubre-2008
Mensajes: 35
Antigüedad: 15 años, 6 meses
Puntos: 0
Valor en select dependiendo de variable php

Que tal!!!!!!!!!

estoy desarrollando una aplicacion donde un usuario elige un determinado registro, cuando realiza su eleccion se le presenta un formulario para que modifique el registro. Este formulario solo tiene selects y necesito que el formulario muestre todos los selects con los datos recuperados desde la base de datos, pero dando la oportunidad de elegir cualquier otro.


como se puede hacer eso ?
  #2 (permalink)  
Antiguo 09/03/2009, 15:29
(Desactivado)
 
Fecha de Ingreso: febrero-2009
Ubicación: Lima, Perú
Mensajes: 10
Antigüedad: 15 años, 2 meses
Puntos: 1
Respuesta: Valor en select dependiendo de variable php

En realidad tienes dos formas... la primera es volviendo a cargar la página y con el PHP llenar el select o devolviendo, por ejemplo un JSON, utilizando Ajax para que no haya la necesidad de volver a cargar la página.

Me has dado una idea para crear un artículo-video, hoy lo hago en la noche, después de la chamba.

Calculo que estará a más tardar entre las 10 y 11 de la noche (-5 GMT. Lima, Quito, Bogotá)

Última edición por GatorV; 09/03/2009 a las 16:15
  #3 (permalink)  
Antiguo 10/03/2009, 07:55
 
Fecha de Ingreso: octubre-2008
Mensajes: 35
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Valor en select dependiendo de variable php

.... lo que pretendo no es construir un select desde una base de datos, tengo un registro ya creado y que el usuario se dispone a modificar, cuando el usuario lo creo se le pidieron unos datos (todos son elegidos desde selects) para modificarlo se le muestra el mismo formulario inicial, pero esta vez los selects deben tener por defecto los valores que tiene el registro

muchas gracias.
  #4 (permalink)  
Antiguo 10/03/2009, 08:34
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Valor en select dependiendo de variable php

Hola juzapt,

Para hacer eso solamente cicla por los resultados de tu select y agregale la propiedad "selected" a la opción que quieras pre-seleccionar:
Código html:
Ver original
  1. <option value="foo" selected="selected">bar</option>

Saludos
  #5 (permalink)  
Antiguo 10/03/2009, 14:27
 
Fecha de Ingreso: octubre-2008
Mensajes: 35
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Valor en select dependiendo de variable php

hola GatorV realice lo siguiente:

<select name="process" id="process">
<?php
$proceso=$datos[0];
foreach($valores_proceso as $valor){
if ($proceso==$valor){
?>
<option selected value="<?php echo $proceso; ?>"><?php echo $opcion[$valor]; ?></option>
<?php
}else{
?>
<option value="<?php echo $proceso; ?>"><?php echo $opcion[$valor]; ?></option>
<?php
}
}
?>
</select>

$datos es el resultado de un metodo que tengo en una clase llamada solicitud, este metodo lo que hace es regresarme todos los campos de un registro, luego construyo un vector donde almaceno las opciones de mi select, cada campo del vector lo comparo para saber si es igual al dato recuperado, si es lo muestro seleccionado, y sino es lo muestro dentro de la lista, hasta aqui todo bien.
El problema es que cuando le doy enviar al formulario, me toma solo los datos que tenia el vector datos, no la seleccion que hice.

que puede ser esto ?

muchas gracias
  #6 (permalink)  
Antiguo 10/03/2009, 14:39
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Valor en select dependiendo de variable php

Pues lo que puedes hacer es comparar si tiene el dato de $_POST['process'] usa ese, y en caso de que este vacio usas el de $datos, con eso mantienes el otro valor.

Saludos
  #7 (permalink)  
Antiguo 10/03/2009, 14:45
 
Fecha de Ingreso: octubre-2008
Mensajes: 35
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Valor en select dependiendo de variable php

Gracias por responder...

lo que pasa es que siempre me toma el valor por defecto del select como el valor a enviar, sin importar si se selecciona otro. Tambien intente creando una caja de texto oculta y asignarle el valor mediante el evento onchange, pero obtengo el mismo resultado, siempre asigna el valor por defecto del select.

saludos

Última edición por juzapt; 10/03/2009 a las 14:47 Razón: incompleto
  #8 (permalink)  
Antiguo 10/03/2009, 14:50
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Valor en select dependiendo de variable php

Usa un if, ya te lo comente:
Código php:
Ver original
  1. if(!empty($_POST['proceso'])) {
  2.        $proceso = $_POST['proceso'];
  3. } else {
  4.        $proceso=$datos[0];
  5. }

Así al seleccionar el valor y enviarlo por POST va a usar ese y no el pre-definido.

Saludos
  #9 (permalink)  
Antiguo 10/03/2009, 15:15
 
Fecha de Ingreso: octubre-2008
Mensajes: 35
Antigüedad: 15 años, 6 meses
Puntos: 0
Respuesta: Valor en select dependiendo de variable php

Que tal GatorV, muchas gracias por la ayuda, el problema era el siguiente:

en el else la instruccion que tenia hacia que siempre asignara el proceso por defecto al value, lo que tenia que hacer era cambiar ese $proceso por $valor y ya

muchas gracias nuevamente, problema solucionado.
  #10 (permalink)  
Antiguo 02/06/2009, 12:22
 
Fecha de Ingreso: febrero-2009
Mensajes: 4
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: Valor en select dependiendo de variable php

no me valia ninguna de las respuestas para lo que yo queria que era rellenar un select con las opciones de una tabla marcando la opcion de esta tabla que tengo metida por codigo en otra, despues de currarmelo(tampoco mucho) aqui va mi respuesta

<?php
include './funciones/funciones.php';
$link=conectar();
$result=mysql_query("select * from commercial_brand where codigo='".$_POST['codigo']."'", $link);
while($row=mysql_fetch_array($result)){
$result2=mysql_query("select * from cluster", $link);
printf('<td><select name="cluster" id="cluster">');
while($row2=mysql_fetch_array($result2)){
if($row2['codigo']==$row['cluster']){
printf('<option value="%s" selected="selected">%s</option>', $row2['codigo'], $row2['name']);
}else{
printf('<option value="%s">%s</option>', $row2['codigo'], $row2['name']);
}
}
printf('</select></td>');
?>

a ver que os parece
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 13:45.