Foros del Web » Programando para Internet » PHP »

Como unir este codigo PHP dentro de este Java????

Estas en el tema de Como unir este codigo PHP dentro de este Java???? en el foro de PHP en Foros del Web. Hola, tengo alguito de experiencia pero nomucha en todo esto de PHP y JAVA, y necesito unir estos dos codigos, el de php es uno ...
  #1 (permalink)  
Antiguo 02/08/2004, 10:44
Avatar de Jeremias  
Fecha de Ingreso: agosto-2003
Ubicación: Caracas
Mensajes: 504
Antigüedad: 20 años, 8 meses
Puntos: 0
Como unir este codigo PHP dentro de este Java????

Hola, tengo alguito de experiencia pero nomucha en todo esto de PHP y JAVA, y necesito unir estos dos codigos, el de php es uno que yo hice y el JAVA lo saque de las FAQ del foro de JAVA:

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>
Este Java lo que ha es que oculta un TEXT segun lo que hagarres en el List

Código:
<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>
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

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:
<html>
<head>
<title>Documento sin t&iacute;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>
Muchas Gracias y disculpen la molestia.
__________________
Atte. Jere
Agradezco su pronta colaboración.
;-) :arriba:Hoy por mi, mañana por ti:arriba: ;-)
  #2 (permalink)  
Antiguo 02/08/2004, 12:15
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Te haces un enorme lío para crear el <select> dinámicamente:

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); 
    while (
$row mysql_fetch_array($result)) { 
         echo 
"<option value=\"".$row['municipio']."\">".$row['municipio']."</option>\n";
     } 
?> 
</select>
Si quieres alguna "option" más por delante o detras de los que el resultado de la consulta SQL a tu BD genera .. tan sólo añadelo en HTML fijo:

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); 
    while (
$row mysql_fetch_array($result)) { 
         echo 
"<option value=\"".$row['municipio']."\">".$row['municipio']."</option>\n";
     } 
?> 
<option value="">NO APLICA</option>
</select>
Si el problema que tenías era como insertar algún elemento más al "option" de forma fíja como el ejemplo .. ya lo tienes resuelto, el resto de tu función javascript trabajar como si de un option HTML fijó (estático) se tratase.

PD: Observación .. Java != Javascript .. no mezcles cosas que sino, nos liamos ...

Un saludo,
  #3 (permalink)  
Antiguo 02/08/2004, 12:50
Avatar de Jeremias  
Fecha de Ingreso: agosto-2003
Ubicación: Caracas
Mensajes: 504
Antigüedad: 20 años, 8 meses
Puntos: 0
Ok gracias por simplificarme el codigo del selectd dinamico, solo que lo tenia asi porque la data que fue ingresada ahi pues pudiera ser el caso que dos usuario hubiese escrito un mismo nombre, es decir dos veces BARUTA, y en el list no necesito que se me imprimiera dos veces BARUTA, pero gracias igual esa correcion y gracias por el dato de que JAVA y Javascripots son diferentes, eso si no lo tenia claro, por lo menos ahora se que son dos cosa diferentes, luego averiguare en que se diferencia, perooooooo aun no se me ha resuelto el problema porque:
*EL Javascript lo que me hace es que cuando le de en la ultima opcion me aparesca en la pagina un TextBox, y eso no me lo hace, y ademas el codigo del select esta dentro del Javascript y codigo que me acomodaste esta en PHP y lo que no se es como meterl dentro de ese JAVASCRIPT.

de todos modos, te cito lo que escribi diciendo lo que me sucedia:
Cita:
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

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
Gracias Cluster por responderme, espero que se haya entendido ahora. BYE
__________________
Atte. Jere
Agradezco su pronta colaboración.
;-) :arriba:Hoy por mi, mañana por ti:arriba: ;-)
  #4 (permalink)  
Antiguo 02/08/2004, 15:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Bueno .. yo el problema principal que tengo es que no comprendo exactamente como funciona esa rutina javacript que veo que genera HMTL dinámicamente a su vez (por qué no lo he probado físicamente).

Según veo .. en:
writeln(" <option" + (muestraTexto? "": " selected") + "><?=$todo[$b]?></option>");
writeln("<? } ?>");

Es donde deberías generar los valores. Es decir; una de esas líneas javascript por option a representar.

Si es así .. tu javascript que metes por medio el bucle for() de PHP .. sobra. tan sólo sería algo tipo:
Código PHP:
Javascript ....
<?
while ($row mysql_fetch_array($result)) { 
 
?>    
writeln("<option" + (muestraTexto? "": " selected") + "><? echo $row['municipio'?></option>");  
<?
}
?>
javascript
Cita:
Ok gracias por simplificarme el codigo del selectd dinamico, solo que lo tenia asi porque la data que fue ingresada ahi pues pudiera ser el caso que dos usuario hubiese escrito un mismo nombre, es decir dos veces BARUTA
Ese tipo de cosas deberías resolveras desde SQL no vía PHP .. hay sentencias como "DISTINCT" que hacen eso mismo: filtran y te devuelven sólo los registros que no se repitan (bajo tal campo como "llave").

Un saludo,
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:14.