Foros del Web » Programando para Internet » PHP »

Predefinir opcion selected de combo con un campo de otra tabla

Estas en el tema de Predefinir opcion selected de combo con un campo de otra tabla en el foro de PHP en Foros del Web. Buenas tardes espero alguien me pueda ayudar con este detalle que se me presento ya he batallado mucho con esto me gustaria la ayuda u ...
  #1 (permalink)  
Antiguo 15/11/2010, 14:47
 
Fecha de Ingreso: noviembre-2010
Ubicación: Mexico
Mensajes: 29
Antigüedad: 13 años, 5 meses
Puntos: 1
Información Predefinir opcion selected de combo con un campo de otra tabla

Buenas tardes espero alguien me pueda ayudar con este detalle que se me presento ya he batallado mucho con esto me gustaria la ayuda u opinion de alguien más.

Tengo 2 tablas T_Usr y TC_Estatus en la tabla T_Usr existe un campo llamado T_UsrEstatus y se llena de cualquier registro(ALTA, BAJA, INACTIVO) de la tabla TC_Estatus, mi problema reside que yo al crear un combo donde se carga de los datos que contiene la tabla TC_Estatus no puedo predefinir que la opcion Selected establesca por default el valor del campo T_UsrEstatus si es igual al campo TC_EstatusNombre de la tabla TC_Estatus hasta ahorita cargo mi combo con mi lista de bd pero no hechar andar el selected del combo, les pongo mi codigo fuente.


Código PHP:
<input name="status1" type="text" class="imInput imInput_0" id="stat1" size="20" maxlength="20" value="<?php echo $SQLrow['T_UsrEstatus']?>
//Aqui traigo mi campo almacenado en tabla T_Usr Campo T_UsrEstatus

Código PHP:
<?php
include("c0n3x/conex.php");
mysql_connect("$srv","$bduser","$bdpass");
mysql_select_db("$base"); 
$sSQL="SELECT * FROM TC_Estatus ORDER BY TC_EstatusId ASC";
$result=mysql_query($sSQL);
echo 
'<select name="status" >';
while (
$row=mysql_fetch_array($result))
{
echo 
"<option value='" $row["TC_EstatusNombre"]. "' selected=\"selected\">" .$row["TC_EstatusNombre"]."</option>";
}
?>
Aqui lleno mi combo pero no puedo hacer que el dato almacenado del campo T_UsrEstatus lo compare con TC_EstatusNombre(Registros que trae el combo) si encuentra coincidencia presente ese registro predeterminado al momento cargar el combo.

Saludos y gracias por su ayuda.


  #2 (permalink)  
Antiguo 15/11/2010, 14:52
 
Fecha de Ingreso: febrero-2010
Mensajes: 818
Antigüedad: 14 años, 2 meses
Puntos: 55
Respuesta: Predefinir opcion selected de combo con un campo de otra tabla

tienes que sacar el T_UsrEstatus de la tabla T_Usr y comparalo dentro del while con un if (parece que es $SQLrow['T_UsrEstatus']), en caso de ser iguales usas selected sino son iguales lo pones normal (el option)
  #3 (permalink)  
Antiguo 15/11/2010, 15:58
 
Fecha de Ingreso: noviembre-2010
Ubicación: Mexico
Mensajes: 29
Antigüedad: 13 años, 5 meses
Puntos: 1
Información Respuesta: Predefinir opcion selected de combo con un campo de otra tabla

Muchas Gracias ya carga el valor predeterminado, ahora el detalle que tengo es el siguiente espero me puedas ayudar Death_Empire.

Cuando le doy guardar datos lo que hace internamente es un update pero... solo hace la actualizacion con el valor "ALTA" aun si eligo del combo "BAJA" ó "INACTIVO" no actualiza, lo que note que si manualmente en la BD pongo "BAJA" ó "INACTIVO" y despues en el combo eligo "ALTA" y actualizo no tengo problema, cabe mensionar que "ALTA" es el primer registro en la tabla.


Código PHP:
<?php 
include("c0n3x/conex.php"); 
mysql_connect("$srv","$bduser","$bdpass"); 
mysql_select_db("$base");  
$sSQL="SELECT * FROM TC_Estatus ORDER BY TC_EstatusId ASC"
$result=mysql_query($sSQL); 
echo 
'<select name="status" >'
while (
$row=mysql_fetch_array($result)) 

if (
$SQLrow['T_UsrEstatus']==$row["TC_EstatusNombre"]){ 
echo 
"<option value='" $row["TC_EstatusNombre"]. "' selected=\"selected\">" .$row["TC_EstatusNombre"]."</option>"

else{
echo 
"<option value='" $row["TC_EstatusNombre"]. "'>" .$row["TC_EstatusNombre"]."</option>"
       }       
}
?>
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 20:33.