Esto lo que hace es crear un LIST en base a la data guardada en un campo en la BD
Código PHP:
<select name="listciudad" id="listciudad">
<? require ('configuracion.php');
$sql="SELECT municipio FROM municipios ORDER BY municipio DESC";
$result=mysql_query($sql,$con);
$a=0;
$pal="";
while ($row = mysql_fetch_array($result))
{
$palabra = $row['municipio'];
if ($palabra != $pal)
{$pal = $palabra;
$a++;
$todo[$a]= $palabra;
}
}
for ($b=0; $b<=$a; $b++)
{
?>
<option> <? echo $todo[$b]; ?> </option>
<? }
?>
</select>
Código:
Entonces lo que necesito es que en ese list salga mi data de la BD y la ultima opcion del List sea una que diga OTRA... y al darle ahi si me aparezca el TEXT<script language="JavaScript"> var muestraTexto = false; function cambiaSelector(){ with (window.pantalla.document){ muestraTexto = (frm.selector.selectedIndex == 1? true: false); } formulario(); } function formulario(){ with (window.pantalla.document){ open(); writeln("<html>\n<body>"); writeln("<form name='frm'>"); writeln("<select name='selector' onchange='parent.cambiaSelector()'>"); writeln(" <option" + (muestraTexto? "": " selected") + ">Combo solo</option>"); writeln(" <option" + (muestraTexto? " selected": "") + ">Combo y texto</option>"); writeln("</select>"); writeln("<br>"); if (muestraTexto){ writeln("<input type='text' name='campoTexto' value='algo'>"); } writeln("</form>"); writeln("</body>\n</html>"); close(); } } document.writeln("<frameset rows='100%,*' onload='javascript:parent.formulario()'>"); document.writeln(" <frame name='pantalla' src='DummyPage.htm'>"); document.writeln(" <frame src=''>"); document.writeln("</frameset>"); </script>
Espero que se haya entendido y me puedan ayudar
Yo lo intente pero no me sale completamente, ya que sime crea el list, aunque me deja un espacio en balnco entre el primer OPTION que es NO APLICA y el primero que saca de la BD, es decir me crea un OPTION en blanco, y eso no es tanto lo malo, sino que seleccione lo que seleccione, siempre se me queda marcada la ultima impresion que me hizo de la BD, y si seleccion la opcion OTRO MUNICIPÍO, me deberia aparecer el TEXTBOX, pero no me aparece nada , este fue lo que hice, pero no se si uni bien los dos codigos y necesito que me digan cual es el error para hacer lo que deseo:
Código:
Muchas Gracias y disculpen la molestia. <html> <head> <title>Documento sin título</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <? require ('configuracion.php'); $sql="SELECT municipio FROM municipios ORDER BY municipio DESC"; $result=mysql_query($sql,$con); $a=0; $pal=""; while ($row = mysql_fetch_array($result)) { $palabra = $row['municipio']; if ($palabra != $pal) {$pal = $palabra; $a++; $todo[$a]= $palabra; } } ?> <script language="JavaScript"> var muestraTexto = false; function cambiaSelector(){ with (window.pantalla.document){ muestraTexto = (frm.selector.selectedIndex == 1? true: false); } formulario(); } function formulario(){ with (window.pantalla.document){ open(); writeln("<html>\n<body>"); writeln("<form name='frm'>"); writeln("<select name='selector' id='selector' onchange='parent.cambiaSelector()'>"); writeln(" <option" + (muestraTexto? "": " selected") + ">No Aplica</option>"); writeln("<? for ($b=0; $b<=$a; $b++) { ?>"); writeln(" <option" + (muestraTexto? "": " selected") + "><?=$todo[$b]?></option>"); writeln("<? } ?>"); writeln(" <option" + (muestraTexto? " selected": "") + ">Otro Municipio</option>"); writeln("</select>"); writeln("<br>"); if (muestraTexto){ writeln("<input type='text' name='campoTexto' value='algo'>"); } writeln("</form>"); writeln("</body>\n</html>"); close(); } } document.writeln("<frameset rows='100%,*' onload='javascript:parent.formulario()'>"); document.writeln(" <frame name='pantalla' src='DummyPage.htm'>"); document.writeln(" <frame src=''>"); document.writeln("</frameset>"); </script> </head> <body> </body> </html>