Tengo 3 select dependientes que lleno con el contenido de una bd pero tengo algunos problemitas con los select:
1. No me pone el texto que indico que es el seleccionado inicialmente, solo en el primer select lo hace.
2. Cómo puedo hacer para que me tome en cuenta el valor del campo seleccionado inicialmente??? A los letreros iniciales les asigno un valor de 0, y cuando se carga la pagina (solo para ver que esta pasando) imprimo los valores que toman los select, si los valores iniciales tienen 0 se supone que deberia imprimirme inicialmente 3 ceros pero no imprime nada, hasta que selecciono algun item.
Les dejo el código
Código PHP:
<form name="form1" method="POST" action="<?php echo $editFormAction; ?>">
<table width="414" border="0" align="center">
<tr>
<td width="131" height="30"><span class="Estilo3">nombre</span></td>
<td width="273"><span class="Estilo3"><span class="Estilo5">
<?php
if(isset($_POST['nombre']))
echo "<input name='nombre' type='text' id='nombre' size='40' maxlength='40' value=".$_POST['nombre'].">";
else
echo "<input name='nombre' type='text' id='nombre' size='40' maxlength='40' >";
?>
</span></span></td>
</tr>
<tr>
<td height="29"><span class="Estilo3"><span class="Estilo5">apellido</span></span></td>
<td width="273"><?php
if(isset($_POST['nombre']))
echo "<input name='apellido' type='text' id='apellido' size='40' maxlength='40' value=".$_POST['apellido'].">";
else
echo "<input name='apellido' type='text' id='apellido' size='40' maxlength='40' >";
?> </td>
</tr>
<tr>
<td height="39"><span class="Estilo3">disciplina</span></td>
<td><span class="Estilo5"> // PRIMER SELECT
<select name="disciplina" size="1" id="disciplina" onChange="this.form.submit()">
<option value="0" selected >Seleccione una Disciplina</option>
<?php
do {
$clave=$_POST['disciplina'];
if($clave==$row_disciplina['CveClase']){
echo "<option value=\"".$row_disciplina['CveClase']."\" selected>".$row_disciplina['Nombre']."</option>\n";
}
else{
echo "<option value=\"".$row_disciplina['CveClase']."\" >". $row_disciplina['Nombre']."</option>\n";
}
} while ($row_disciplina = mysql_fetch_assoc($disciplina));
$rows = mysql_num_rows($disciplina);
if($rows > 0) {
mysql_data_seek($disciplina, 0);
$row_disciplina = mysql_fetch_assoc($disciplina);
}
?>
</select>
</span></td>
</tr>
<tr>
<td height="44" class="Estilo3">Categoria</td>
<td><font color="#0066CC">
<span class="Estilo5">
//SEGUNDO SELECT
<select name="categoria" size="1" id="categoria" onChange="this.form.submit()" >
<option value="0" selected >Seleccione una Categoría</option>
<?php
mysql_select_db($database_PAGINA, $PAGINA);
$query_categoria = "SELECT * FROM subcategorias WHERE CveClase='$clave' ORDER BY Nombre ASC";
$categoria = mysql_query($query_categoria, $PAGINA) or die(mysql_error());
$row_categoria = mysql_fetch_assoc($categoria);
$totalRows_categoria = mysql_num_rows($categoria);
do {
$clave2=$_POST['categoria'];
if($clave2==$row_categoria['CveSub']){
echo "<option value=\"".$row_categoria['CveSub']."\" selected>".$row_categoria['Nombre']."</option>\n";
}
else{
echo "<option value=\"".$row_categoria['CveSub']."\" >". $row_categoria['Nombre']."</option>\n";
}
} while ($row_categoria = mysql_fetch_assoc($categoria));
$rows = mysql_num_rows($categoria);
if($rows > 0) {
mysql_data_seek($categoria, 0);
$row_categoria = mysql_fetch_assoc($categoria);
}
?>
</select>
</font></td>
</tr>
<tr>
<td height="44" class="Estilo3">HORARIO</td>
<td><font color="#0066CC"> //TERCER SELECT
<select name="hora" size="1" id="hora" onChange="this.form.submit()" >
<option value="0" selected >Seleccione el Horario </option>
<?php
$clave3=$_POST['hora'];
mysql_select_db($database_PAGINA, $PAGINA);
$query_horario = "SELECT * FROM horarios WHERE CveSub='$clave2' ORDER BY Hora ASC";
$horario = mysql_query($query_horario, $PAGINA) or die(mysql_error());
$row_horario = mysql_fetch_assoc($horario);
$totalRows_horario = mysql_num_rows($horario);
do {
$row_horario['Hora']= substr($row_horario['Hora'], 0,-3);
if($clave3==$row_horario['CveHr']){
echo "<option value=\"".$row_horario['CveHr']."\" selected>".$row_horario['Hora']."</option>\n";
}
else{
echo "<option value=\"".$row_horario['CveHr']."\" >". $row_horario['Hora']."</option>\n";
}
} while ($row_horario = mysql_fetch_assoc($horario));
$rows = mysql_num_rows($horario);
if($rows > 0) {
mysql_data_seek($horario, 0);
$row_horario = mysql_fetch_assoc($horario);
}
?>
</select>
</font></td>
</tr>
<tr>
<td height="33" class="Estilo3">PERIODO</td>
<td><span class="Estilo3"><span class="Estilo5">
<select name="periodo" size="1" id="periodo" >
<option value="Mayo-Julio" selected>Mayo - Julio</option>
</select>
</span></span></td>
</tr>
</table>
<p><?php echo $clave." ".$clave2." ".$clave3;
?> </p>
<div align="center">
<p class="Estilo3">
<input name="inscribir" type="submit" id="inscribir" value="Inscribir">
</p>
</div>
<input type="hidden" name="MM_insert" value="form1">
</form>
<p align="center" class="Estilo3"> </p>
<p align="left" class="Estilo3"><a href="../inicio_socio.php" class="Estilo2">Regresar</a></p>
<p align="left" class="Estilo3"> </p>
</body>
</html>
<?php
mysql_free_result($horario);
mysql_free_result($disciplina);
mysql_free_result($categoria);
?>