Foros del Web » Programando para Internet » PHP »

Listas dependientes!

Estas en el tema de Listas dependientes! en el foro de PHP en Foros del Web. Hola, buenas tardes! me gustaría que alguien que entienda sobre el tema me hechara una ojeda a éste código. No he trabajado nunca con variables ...
  #1 (permalink)  
Antiguo 10/12/2009, 13:19
 
Fecha de Ingreso: diciembre-2009
Mensajes: 22
Antigüedad: 14 años, 11 meses
Puntos: 0
Listas dependientes!

Hola, buenas tardes!

me gustaría que alguien que entienda sobre el tema me hechara una ojeda a éste código. No he trabajado nunca con variables dependientes y sé que está mal, pero mejor esto que nada.

Código PHP:
<html>
<head>
<title>pagina1.php</title>
</head>

<body>
<form method="post" action="desplegables3">

    <table width="70%" border="0" align="center">
    <?php
// Me conecto a la base de datos
mysql_connect("localhost""root""6783");
mysql_select_db("bbdd_institut");

$paisant=$curs;

print (
"
   <input type=\"hidden\" name=\"paisant\" value=\"$paisant\">

    <tr>
       <td><div align=\"left\"><strong>Curs:</strong></div></td>
       <td><select name=\"curs\" onchange=\"submit();\">
       "
);

if (!isset(
$curs)){
    print (
"<option selected>Seleccioni el curs</option>");
    
$curs="0";
}

$sqlc="select * from cursos order by id ASC";
$res=mysql_query($sqlc);

while(
$fila=mysql_fetch_array($res)){
print(
"<option value=\"$fila[curs]\"");
if (
$fila[curs] == $curs) {
print (
"selected");
}
print(
">$fila[curs]</option>\n");
}
print(
"</select></td></tr>");

if (
$curs!="0"){
print(
"


<tr>

    

<td><div align=\"left\"><strong>modalitat:</strong></div></td>
<td><select name=\"modalitat\">
"
);
}


$sqlz "Select descripcio From modalitat_mod where curs_id = '".$curs."' ";
$rest=mysql_query($sqlz);

while(
$files=mysql_fetch_array($rest)){
print(
"<option value=\"$files[modalitat]\"");
if (
$files[modalitat] == $modalitat) {
print (
"selected");
}
print(
">$files[modalitat]</option>\n");
}
print(
"</select></td></tr>");

if (
$modalitat!="0"){
print(
"

<tr>

    

<td><div align=\"left\"><strong>Assignatura:</strong></div></td>
<td><select name=\"assignatura\">
"
);
$sqlv "Select descripcio From assignatura where curs_id = '".$curs."' ";
$resassi=mysql_query($sqlv);

while(
$filaassi=mysql_fetch_array($resassi)){
print(
"<option value=\"$filaassi[id]\">$filaassi[descripcio]</option>");
}
print(
"
    </select>
    </td>
       </tr>
"
);
}
      
?>
    </table>

</form>

Mirad y decirme donde me falla, por favor.

La idea sería que cuando yo elijo "curs" (curso, para entendernos), me salieran las diferentes "modalitats" (modalidades) de ese curso y cuando tubiera las dos anteriores, que me salieran las "assignatures" (asignaturas) que le corresponden.

Gracias de antemano!!!!
  #2 (permalink)  
Antiguo 10/12/2009, 13:39
Avatar de omar1977  
Fecha de Ingreso: abril-2006
Mensajes: 178
Antigüedad: 18 años, 7 meses
Puntos: 4
Respuesta: Listas dependientes!

creo que seria de esta forma
print("<option value=\"$fila[curs]\" onclick=\"mismaPagina.php?id_curso=$fila[curs]\"; ");
if ($fila[curs] == $curs) {
print ("selected");
}
print(">$fila[curs]</option>\n");
}
print("</select></td></tr>");


y al inicio de la pagina un if
if($_GET['id_curso']{
SQL : "buscar las modalidades mientras id_curso = $_GET[id_curso]
mostrar nuevo select
}

bueno eso en php puro, pero si necesitas mas dinamismo en tu pagina te recomiendo optes por algun framework para Ajax.... personalmente uso xajax
saludos
__________________
no hay nadie que sea tan inutil, por ultimo sirve como mal ejemplo
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 22:26.