Foros del Web » Programando para Internet » Javascript » Frameworks JS »

Refrescar datos (Ayudadme porfavor!!!)

Estas en el tema de Refrescar datos (Ayudadme porfavor!!!) en el foro de Frameworks JS en Foros del Web. Hola, buenas tardes! Soy un estudiante que está creando un programa para el proyecto de final de etapa. Mi duda está en que, tengo un ...
  #1 (permalink)  
Antiguo 07/12/2009, 14:20
 
Fecha de Ingreso: diciembre-2009
Mensajes: 22
Antigüedad: 14 años, 11 meses
Puntos: 0
Exclamación Refrescar datos (Ayudadme porfavor!!!)

Hola, buenas tardes!

Soy un estudiante que está creando un programa para el proyecto de final de etapa. Mi duda está en que, tengo un botón desplegable con cada uno de los cursos que tiene un instituto con sus correspondientes grupos, y lo que quiero hacer es que en seleccionar uno de los cursos la página se me refresque y, en otro desplegable (que habrá al lado de los anteriores) me aparezcan las diferentes asignaturas de que está compuesto.

Realmente no sé que parte del código poneros, por lo que pondré el referente a los desplegables y si necesitais alguna otra parte me la pediis.

Necesito que alguien me dé una ayudita pués me he quedado bloqueado y no puedo avanzar.

Muchas gracias de antemano!!!!


<!-- Curso alumno-->
<LABEL>Curs:</LABEL>
<select name="cons_curs">
<option selected value="<?php print ($cons_curs); ?>"><?php print ($cons_curs); ?>
<option>
<option>1º ESO
<option>2º ESO
<option>3º ESO
<option>4º ESO
<option>1º Batx.
<option>2º Batx.
<option>Exalumno
</select>

<!-- Grupo alumno-->
<LABEL> Grup:</LABEL>
<select name="cons_grup">
<option selected value="<?php print ($cons_grup); ?>"><?php print ($cons_grup); ?>
<option>
<option>A
<option>B
<option>C
</select>
  #2 (permalink)  
Antiguo 07/12/2009, 14:29
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Refrescar datos (Ayudadme porfavor!!!)

eso lo consigues usando Ajax, te sugiero busques en el foro de Ajax...

es un tema conocido: combos/selects dependientes o algo así...


suerte!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 07/12/2009, 14:31
 
Fecha de Ingreso: diciembre-2009
Mensajes: 22
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Refrescar datos (Ayudadme porfavor!!!)

Vale, gracias! Ahora lo miraré.
  #4 (permalink)  
Antiguo 07/12/2009, 14:35
 
Fecha de Ingreso: abril-2003
Ubicación: Mexico
Mensajes: 604
Antigüedad: 21 años, 7 meses
Puntos: 23
De acuerdo Respuesta: Refrescar datos (Ayudadme porfavor!!!) :ojotes:

Buenas!!!

no entiendo lo que quieres hacer....
en lo personal si los grados, grupos y niveles son los mismos los definiria y partiendo las las elecciones formaria

Código PHP:
        <select name="Grado">
            <
option value="Grado">Grado</option>
            <
option value="1"1</option>
            <
option value="2"2</option>
            <
option value="3"3</option>
            <
option value="4"4</option>
            <
option value="5"5</option>
         </
select>
        <
select name="Grupo">
            <
option value="Grupo">Grupo</option>
            <
option value="A"A</option>
            <
option value="B"B</option>
            <
option value="C"C</option>
            <
option value="D"D</option>
            <
option value="E"E</option>
         </
select>
        <
select name="nivel">
            <
option value="Grado">Grado</option>
            <
option value="ESO"ESO</option>
            <
option value="BATH"BATH</option>
         </
select>

//ya luego solo lo armas asi

$gradoygrupo=$grado.$grupo.$nivel
espero haberte entendido

un saludo!!
__________________
¡El Respeto al Derecho Ajeno Es la Paz!

Última edición por HalconVigia; 07/12/2009 a las 14:58
  #5 (permalink)  
Antiguo 07/12/2009, 14:39
 
Fecha de Ingreso: diciembre-2009
Mensajes: 22
Antigüedad: 14 años, 11 meses
Puntos: 0
Respuesta: Refrescar datos (Ayudadme porfavor!!!)

Hola HalconVigia,

lo que me has comentado no es del todo lo que yo quiero hacer.

Tenemos unos cursos y unos grupos que son siempre los mismos y que los tengo agrupados en dos desplegables (uno para los cursos y otro para los grupos). Y por otro lado tengo las diferentes materias, las cuales varian según cada curso.

Lo que yo quiero hacer es, que en seleccionar uno de los cursos, se recargue la página y en el desplegable asignaturas/materias (está situado al lado de los dos anteriores) me aparezcan únicamente las de ese nivel.


Gracias!!!

PD. Las materias están creadas en una tabla a parte, por lo que solo sería cogerlas de allí.
  #6 (permalink)  
Antiguo 07/12/2009, 16:26
 
Fecha de Ingreso: junio-2009
Mensajes: 51
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Refrescar datos (Ayudadme porfavor!!!)

con AJAX seria algo como
Código HTML:
<script language="javascript" type="text/javascript">
function getXMLHTTP() { 
		var xmlhttp=false;	
		try{
			xmlhttp=new XMLHttpRequest();
		}
		catch(e)	{		
			try{			
				xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
			}
			catch(e){
				try{
				xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
				}
				catch(e1){
					xmlhttp=false;
				}
			}
		}
		 	
		return xmlhttp;
    }
	
	function getAsignatura(nomCurso) {		
		
		var strURL="buscarAsignatura.php?curso="+nomCurso;
		var req = getXMLHTTP();
		
		if (req) {
			
			req.onreadystatechange = function() {
				if (req.readyState == 4) {
					
					if (req.status == 200) {						
						document.getElementById('asigDiv').innerHTML=req.responseText;						
					} else {
						alert("Ocurrio un problema con XMLHTTP:\n" + req.statusText);
					}
				}				
			}			
			req.open("GET", strURL, true);
			req.send(null);
		}		
	}
	
</script> 
y el codigo de buscarAsignatura.php seria
Código PHP:
<?php 
$curso 
= isset($_GET['curso'])? $_GET['curso'] :'';
$link mysql_connect('servidor''user''password'); 

if (!
$link) {
    die(
'No se pudo conectar: ' mysql_error());
}
//selecionamos BD
mysql_select_db('databse') or die ('No se pudo selecionar la Base de Datos');
//tambien podria ser un required a tu conexion.php
$query="SELECT asignatura FROM asignaturas WHERE curso='".mysql_real_escape_string($curso)."'";
$result=mysql_query($query);
if(
mysql_num_rows($result) >0){
echo 
'<select>'."\n";
while(
$row=mysql_fetch_array($result)) {
echo 
'<option>'.$row['asignatura'].'</option>'."\n";
 }
echo 
'</select>'."\n";
}else{
echo 
'No hay valores en la base de datos';
}
?>
Y el codigo HTML seria algo como

Código HTML:
<select name="curso" onChange="getAsignatura(this.value)">
	<option>Selecciona el curso</option>
	<?php while($row=mysql_fetch_array($result)) { ?>
	<option value="informatica">Informatica</option>
<option value="derecho">Derecho</option>
        </select> 
Tambien en los values podrias poner un ID hacerlo por ids, ya en la validacion de buscarAsignatura.php podrias validar con is_numeric o is_int o int
  #7 (permalink)  
Antiguo 07/12/2009, 17:40
 
Fecha de Ingreso: diciembre-2009
Mensajes: 22
Antigüedad: 14 años, 11 meses
Puntos: 0
Muchas gracias por la ayuda. Creo que con el último código que me enviasteis me las podré apañar. Aun así, si teneis + sugerencias, el tema continua abierto ;).

HOLA!

He estado trabajando con el último código, pero no me funciona. Realmente no entiendo nada de lo del javascript, por lo que no sé si lo estoy relacionando de forma correcta. Me podrías mirar si veis alguna cosa mal?

Tal como lo tengo me dá un error de "unexpected $end".

Este es el código que he puesto en la página principal:


<!-- Assignatura-->
<LABEL> Assignatura:</LABEL>
<select name="Assignatura" onChange="getAssignatura(this.value)">
<option>Selecciona el curso</option>
<?php while($row=mysql_fetch_array($result)) { ?>
</select>


<script language="javascript" type="text/javascript">
function getXMLHTTP() {
var xmlhttp=false;
try{
xmlhttp=new XMLHttpRequest();
}
catch(e) {
try{
xmlhttp= new ActiveXObject("Microsoft.XMLHTTP");
}
catch(e){
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}
catch(e1){
xmlhttp=false;
}
}
}

return xmlhttp;
}

function getAsignatura(cons_Curs) {

var strURL="buscarAssignatura.php?cons_curs="+cons_cur s;
var req = getXMLHTTP();

if (req) {

req.onreadystatechange = function() {
if (req.readyState == 4) {

if (req.status == 200) {
document.getElementById('asigDiv').innerHTML=req.r esponseText;
} else {
alert("Ocurrio un problema con XMLHTTP:\n" + req.statusText);
}
}
}
req.open("GET", strURL, true);
req.send(null);
}
}

</script>


Y este es el código que he puesto en la otra página:

<?php
$cons_curs = isset($_GET['cons_curs'])? $_GET['cons_curs'] :'';
$conexion = mysql_connect ("localhost", "root", "6783");

if (!$conexion) {
die('No se pudo conectar: ' . mysql_error());
}
//selecionamos BD
mysql_select_db('bbdd_institut') or die ('No se pudo selecionar la Base de Datos');
//tambien podria ser un required a tu conexion.php
$query="SELECT assignatura_id FROM assignatura WHERE curs_id='".mysql_real_escape_string($cons_curs)."' ";
$result=mysql_query($query);
if(mysql_num_rows($result) >0){
echo '<select>'."\n";
while($row=mysql_fetch_array($result)) {
echo '<option>'.$row['assignatura'].'</option>'."\n";
}
echo '</select>'."\n";
}else{
echo 'No hay valores en la base de datos';
}
?>


Alguna solución, porfavor?

Muchas gracias!!!!!

Me dejaba de decir que si alguien necesita alguna otra parte del código que me la pida!!

Gracias a los que me podais ayudar!

Última edición por GatorV; 11/12/2009 a las 12:32
  #8 (permalink)  
Antiguo 10/12/2009, 15:04
 
Fecha de Ingreso: junio-2009
Mensajes: 51
Antigüedad: 15 años, 5 meses
Puntos: 1
Respuesta: Refrescar datos (Ayudadme porfavor!!!)

el codigo funciona bien, lo unico que yo veo en el tuyo es esto

<select name="Assignatura" onChange="getAssignatura(this.value)">

y la funcion se llama getAsignatura con una S

function getAsignatura(cons_Curs)

intentato y comentas que tal
  #9 (permalink)  
Antiguo 11/12/2009, 08:33
 
Fecha de Ingreso: diciembre-2009
Mensajes: 22
Antigüedad: 14 años, 11 meses
Puntos: 0
He probado con el cambio que me has dicho y no me funciona. Ahora no me dá ningún error, pero continua sin aparecerme ninguna materia en el campo asignatura por más que pruebo a cambiar los cursos.

Estas parte no la acabo de entender, aún así, está bien así?

var strURL="buscarAssignatura.php?cons_curs="+cons_cur s;

Última edición por GatorV; 11/12/2009 a las 12:32
  #10 (permalink)  
Antiguo 11/12/2009, 12:33
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Tema movido desde PHP a AJAX
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 19:28.