Foros del Web » Programando para Internet » PHP »

Guardar Texto de Select en una variable

Estas en el tema de Guardar Texto de Select en una variable en el foro de PHP en Foros del Web. Después de mucho probar, buscar y buscar he conseguido iniciar sesión de usuario y que después me lleve a una página en la que hay ...
  #1 (permalink)  
Antiguo 31/08/2013, 16:55
 
Fecha de Ingreso: agosto-2013
Mensajes: 2
Antigüedad: 10 años, 8 meses
Puntos: 0
Pregunta Guardar Texto de Select en una variable

Después de mucho probar, buscar y buscar he conseguido iniciar sesión de usuario y que después me lleve a una página en la que hay varios select: Profesor, Curso, Alumno y Sanción impuesta (es para centralizar la disciplina en un centro educativo). Soy absolutamente novato en PHP.

El código está adaptado a uno que encontré en esta página y que aseguraba que funcionaba, pero no lo he sabido hacer.

El problema me surge al querer cargar los datos de los alumnos tras cargar el curso seleccionado. Es decir, dos select dependientes sin cambiar de página.

Hasta ahora lo conseguido es lo siguiente:
Código:
<?php
$ccursos = mysql_query("SELECT `idalumno`,`Unidad` FROM `alumnado_12_13` WHERE `Est_Matr` <> 'Trasladada' GROUP BY `Unidad`")or die ("Error en la consulta del Curso") ; //cargando tabla cursos
 $curso =array() ;
 $alumn =array() ; 
 $tip=-1;//le asigno un valor -1 al tipo para que no me descuadre con el resto de los valores de las ID de los tipos 
 if (!empty($_POST['select1'])){ 
 /*Cuando entramos esta variable está vacia, así que si la rcogemos con el _POST, va a dar error, así que con este if digo que si el $_POST stá vacio, le asigne el valor -1 para que no cargue nada y no descuadre co las ID de los productos*/ 
 $tip =$_POST['select1']; 
 } 
 echo $tip;
 ?> 

<?php 
 echo "<form name='form1' action='".$_SERVER['PHP_SELF']."' method='POST'>"; 
 echo " <select name='select1' size='1' onChange='this.form.submit()'>";  
 echo " <option value='nada' selected>Curso</option>"; 
 while($curso=mysql_fetch_array($ccursos)) //cargamos los datos con mysql_fetch 
 { 
 if($curso[0]==$tip)
 { 
 echo "<option value='".$curso[0]."' selected>".$curso[1]."</option>"; 
 } 
 else 
 { 
 echo "<option value='".$curso[0]."'>".$curso[1]."</option>"; 
 } 
 } 
 mysql_free_result($ccursos) ; // Liberar memoria usada por consulta. 
 ?> 
 <br />
 </select> 
 </form> 
 
 <br />
 <!--buscador alumnos--> 
 <form name="select2" action=""> 
 <select name="sec" size="1" onChange="this.form.submit()"> 
 <option value="nada">Alumno/a</option> <!--Aqui hacemos el select2--> 
 <?php
 $calumn = mysql_query("SELECT `idalumno`,`Alumnado` FROM `alumnado_12_13` WHERE `Unidad`='$tip' order by `Alumnado` asc")or die ("Error en la consulta del Alumnado") ;  
 while($alumn=mysql_fetch_array($calumn))// muestra de los datos 
 { 
 echo "<option value='".$alumn[0]."'>".$alumn[1]."</option>"; 
 } //FIN  
 ?> 
 </select> 
 </form>
El combo de los cursos se carga perfectamente.
$tip coge el valor numérico del ítem seleccionado, no el texto.
Si pongo manualmente el texto en vez de la variable $tip (por ejemplo 2ºESO-A) carga los alumnos de ese curso correctamente.

En resumen, lo que necesito es recoger el texto seleccionado en una variable.
Googleando he probado varios scripts que no he sido capaz de "echar a andar"...

Gracias por vuestro tiempo.

Saludos.
  #2 (permalink)  
Antiguo 01/09/2013, 00:57
Avatar de chipilofan  
Fecha de Ingreso: mayo-2011
Ubicación: México
Mensajes: 59
Antigüedad: 12 años, 11 meses
Puntos: 3
Respuesta: Guardar Texto de Select en una variable

Solo tienes que recoger la variable que quieres en un name="mi_variable" dentro del inoput y posterior guardarla en una variable $GuardarVar = $_POST['mi_varible'];

En Guardar var tendrás guardada la varible que quieres, para introducir a BD solo debes de hacer insert con esa variable.

Saludos.
__________________
El silencio es el arma mas grande del mundo... [Ignacio Recinos]
Pensando en la Web
  #3 (permalink)  
Antiguo 01/09/2013, 02:16
 
Fecha de Ingreso: agosto-2013
Mensajes: 2
Antigüedad: 10 años, 8 meses
Puntos: 0
Respuesta: Guardar Texto de Select en una variable

Hola Chipilofan, gracias por responder!
Creo que exactamente es eso lo que he hecho:
El select donde selecciono el curso (select1) es el que uso para recoger la variable:
$tip=$_POST['select1'] pero lo que recoge es el id, no el texto.

Y lo que necesito para esta consulta es el nombre del curso:
Código:
$calumn = mysql_query("SELECT `idalumno`,`Alumnado` FROM `alumnado_12_13` WHERE `Unidad`='$tip' order by `Alumnado` asc")or die ("Error en la consulta del Alumnado") ;
Gracias de nuevo

Etiquetas: dependientes, select, variablesphp
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 14:10.