Foros del Web » Programando para Internet » PHP »

Extraer elemento de Combobox y utilizarlo

Estas en el tema de Extraer elemento de Combobox y utilizarlo en el foro de PHP en Foros del Web. Hola amigos, gracias por su tiempo y ayuda. Tengo un problema con un Combobox: tengo una página web en donde se establece un Login de ...
  #1 (permalink)  
Antiguo 14/03/2012, 20:21
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 9 meses
Puntos: 3
Información Extraer elemento de Combobox y utilizarlo

Hola amigos, gracias por su tiempo y ayuda. Tengo un problema con un Combobox:
tengo una página web en donde se establece un Login de Usuario, dependiendo cuál sea puede acceder a su base de datos (MySQL). Ya dentro de su sesión he creado otra para la selección de un campo llamado 'GRUPO'. Este 'GRUPO' es un Combobox y los elementos se obtienen de una base de datos (MySQL), la idea es que al seleccionar un elemento me redireccione a otra página php y que me muestre en ella qué grupo está logueado. Lo he logrado hacer escribiendo el grupo a mano en un textbox, sin embargo necesito hacerlo desde un combobox.

Pregunta: ¿Cómo hacer que reconozca el elemento seleccionado del Combobox y lo pueda usar para mostrar en otra página php?

De antemano muchas gracias

Donde se elige el grupo
Código PHP:
<?php                        
             

             
                        
if (!isset($_SESSION[grupo])) {
                            
                            
$consulta="SELECT ID_GRUPO, GRUPO_NUMERO FROM ml_dat_GRUPO WHERE EMAIL_PROF='$mail'";
                            
$resultado=mysql_query ($consulta,$conexion);
                            
$fila=mysql_num_rows($resultado);    
                            
                            for(
$i=0;$i<$fila;$i++){ 
                                
$id_for=mysql_result($resultado,$i,0);
                                
$for=mysql_result($resultado,$i,1); }
                                    
                            echo 
'<form action="GRUPO_VALIDACION.php" id="grupo" method="POST">
                    Grupo<br><select name="nombre" id="nombre" onchange="document.getElementByid("GRUPO_NUMERO").value = this.text"><option value="0">Seleccionar grupo<option value='
.$id_for.'>'.$for.'</option><br><br>                                    
                    <input type="submit" name="submit" value="Aceptar"></form><br>'
;
                            
                        } else {


                            
$gpo$_SESSION[grupo];
                            
$usuario_gpo=mysql_query("SELECT GRUPO_NUMERO FROM ml_dat_GRUPO WHERE GRUPO_NUMERO = '$gpo'");
                            
$row_gpo mysql_fetch_row($usuario_gpo);
                            
$nombre_gpo=$row_gpo[0];
                            echo 
'Grupo seleccionado: ' $nombre_gpo;
                            echo 
'<br>';
                            echo 
'<br>';
                              echo
'<a href="GRUPO_LOGOUT.php" class="style1">Seleccionar otro grupo</a>';
                        }
                        
?>

Página que redirecciona
Código PHP:
<?php
            
             
                        
if (isset($_SESSION[grupo])) { 
                          
                            
$gpo$_SESSION[grupo];
                            
$usuario_gpo=mysql_query("SELECT GRUPO_NUMERO FROM ml_dat_GRUPO WHERE GRUPO_NUMERO = '$gpo'");
                            
$row_gpo mysql_fetch_row($usuario_gpo);
                            
$nombre_gpo=$row_gpo[0];
                            echo 
'Grupo seleccionado: ' $nombre_gpo;
                            echo 
'<br>';
                              echo
'<a href="GRUPO_LOGOUT.php" class="style1">Seleccionar otro grupo</a>';
                        }
                        
?>
Validación
Código PHP:
<?php

$conexion
=mysql_connect("localhost","usuario","password");
if (!
$conexion) {
die(
"Fallo la conexión a la Base de Datos: " mysql_error());
}
$db=mysql_select_db("base de datos",$conexion);
if (!
$db) {
die(
"Fallo la selección de la Base de Datos: " mysql_error());
}
?>
<?php
session_start
();
?>

<?php

$usuarios 
mysql_query("SELECT GRUPO_NUMERO FROM ml_dat_GRUPO WHERE GRUPO_NUMERO='$_POST[GRUPO]' ",$conexion);
    if (
$user_ok mysql_fetch_array($usuarios)) { 
        
        
session_register("grupo"); 
        
        
$_SESSION[grupo] = $user_ok["GRUPO_NUMERO"]; 
        
        echo 
'<SCRIPT LANGUAGE="javascript">
            location.href="MILISTA_BD_ARCH.php";
            </SCRIPT>'
;
    } else {
        echo 
'<script>alert("Seleccione un grupo");</script>';
        echo 
'<SCRIPT LANGUAGE="javascript">
        location.href="MILISTA_BD.php";
        </SCRIPT>'
;
    
    }
            
            
?>
  #2 (permalink)  
Antiguo 15/03/2012, 04:20
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 3 meses
Puntos: 331
Respuesta: Extraer elemento de Combobox y utilizarlo

Los campos de un formulario se recogen en el script destino en la variable $_POST, por tanto, el valor seleccionado está en $_POST. Si lo que quieres es redireccionar al hacer click, entonces utiliza javascript.
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 15/03/2012, 15:57
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Extraer elemento de Combobox y utilizarlo

Muchas gracias por tu pronta respuesta: eso me temía, disculpa ¿podrías orientarme con el código javascript? la verdad no soy experto.

Agradezco mucho tu tiempo
  #4 (permalink)  
Antiguo 15/03/2012, 16:02
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Extraer elemento de Combobox y utilizarlo

He leído que es con la función:

<select onchange="document.getElementById('cajaTexto').val ue = this.value">
  #5 (permalink)  
Antiguo 16/03/2012, 01:32
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 14 años, 3 meses
Puntos: 331
Respuesta: Extraer elemento de Combobox y utilizarlo

Estás confundiendo Javascript con PHP. Si trabajas con PHP tienes que utilizar $_POST. En principio no tiene sentido procesar un formulario con Javascript. Busca un tutorial antes de continuar.
__________________
Fere libenter homines, id quod volunt, credunt.
  #6 (permalink)  
Antiguo 16/03/2012, 13:31
 
Fecha de Ingreso: marzo-2012
Mensajes: 84
Antigüedad: 12 años, 9 meses
Puntos: 3
Respuesta: Extraer elemento de Combobox y utilizarlo

Después de una búsqueda y varios intentos fallidos pude resolver el problema, haciéndolo por supuesto como desde el principio quise en php:
un 'while' para comparar la selección del combobox con las variables tomadas desde MySQL y establecer un selected, y así con un submit tomar la variable y enviarla a la otra página php para usarla en una sesión. Les dejo el código.

Código PHP:
<?php

            
            
                            $consulta
="SELECT ID_GRUPO, GRUPO_NUMERO FROM ml_dat_GRUPO WHERE EMAIL_PROF='$mail'";
                            
$resultado=mysql_query ($consulta,$conexion);    
                                
                                while (
$fila=mysql_fetch_array($resultado)){  
                                
                                          echo 
'<option value="'.$fila["GRUPO_NUMERO"].'"';
                                                  if(
$_POST["GRUPO"]==$fila["GRUPO_NUMERO"]) echo " selected"//con el espacio antes de "selected"
                                         
echo '>'.$fila["GRUPO_NUMERO"].'</option>';   
                                    
                                    }
            
?>

Etiquetas: combobox, mysql
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 20:20.