Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/08/2013, 16:55
zidnebla
 
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.