• Martes 19 de Noviembre de 2024, 09:39

Autor Tema:  area de texto dinamica y dependiente  (Leído 5073 veces)

wilru

  • Nuevo Miembro
  • *
  • Mensajes: 2
    • Ver Perfil
area de texto dinamica y dependiente
« en: Domingo 26 de Septiembre de 2010, 07:57 »
0
Hola amigos de solo codigo, tengo el siguiente problemilla a ver quien me colabora, la verdad es que no soy muy ducho con php, javascript...

1. Tengo creadas dos listas desplegables, se cargan con datos de la base de datos (Mysql), la segunda depende de lo que escoja el usuario en la primera, hasta aqui todo bien, casi que no lo logro....jajaja

2. Ahora necesito que cuando  se seleccione una opcion de la segunda lista, se cargue en un area de texto (textarea) informacion de la base de datos correspondiente a la opcion señalada en la segunda lista, esta parte no se como hacerla, intente copiar y ajustar el codigo o procedimiento usado con las dos primeras listas, en el cuadro de texto y la segunda lista, pero no me aparece nada, a parte de esto como me toco incluir onChange en la segunda lista, al seleccionar un valor de ella, la pagina se recarga y borra todo lo seleccionado inicialmente en las dos listas.

Pregunta: Como logro hacer aparecer la informacion en el area de texto segun la opcion señalada en la segunda lista?
               Como hago para que la pagina no se recargue, o si se recarga no me borre la informacion seleccionada inicialmente?
Estoy usando Mysql, Apache, Dreamweaver CS4

Seria algo asi, como por poner un ejemplo de lo que trato de hacer:

Primera lista:      PAISES
Segunda lista:     CIUDADES
Area de texto:    BREVE DESCRIPCION DE LA CIUDAD

Bueno en mi caso es:
Primera lista:      PROBLEMA (incidencia)
Segunda lista:     SUB PROBLEMA (tipo_problema)
Area de texto:    SOLUCION DEL SUB PROBLEMA (solucion)
PARTE DE MI CODIGO ES :
$re=mysql_query("select * from incidencia");

//el @ sirve para que no salga ese mensaje de NOTICE al momento de ejecutar por 1ra ve nuestro codigo.

        if(isset($_POST['incidencia'])){
        $inci=$_POST['incidencia'];
        $re1=mysql_query("select * from TIPO_PROBLEMA where COD_INC=".$inci."");
        $re2=mysql_query("select DESCRIP_INC from INCIDENCIA where COD_INC=".$inci."");
        $j=mysql_fetch_array($re2);
        $j2=mysql_fetch_array($re2);

        }else{

            @$j[DESCRIP_INC]='seleccione Incidencia'; }
 
?>

CREACION DE LA LISTA 1
<select name="incidencia" size="1" id="incidencia" onChange="form1.submit()" style="width:300px">
                                              <option value="0" selected="selected"><?php echo @$j[DESCRIP_INC];?></option>
                                              <?php
 
  while($f=mysql_fetch_array($re)){
  echo'<option value='.$f[COD_INC].'>'.$f[DESCRIP_INC].'</option>';
 
  }
  ?>
                                            </select>

CREACION DE LA LISTA 2
<select name="TIPO_PROBLEMA" size="1" id="TIPO_PROBLEMA"onChange="form1.submit()" style="width:350px">
                                            <option value="0" selected="selected"><?php echo @$j[SOL_CUEST];?></option>
                                              <?php
  while($f1=mysql_fetch_array($re1)){
 
  echo'<option>'.$f1[DESCRP_TIPO].'</option>';
  }
  ?>
                                            </select>
AHORA EL CUADRO DE TEXTO, EL QUE NO HE PODIDO PROGRAMAR

<textarea name="solucion" cols="45" rows="5" readonly="readonly" id="solucion">
                                           
                                           
                                           
                                           
                                            </textarea>
De antemano, mil gracias al que me pueda orientar con esto, bendiciones...
wilru25@hotmail.com

shadow_rev

  • Miembro MUY activo
  • ***
  • Mensajes: 397
  • Nacionalidad: co
  • Un SPARTAN no muere en combate
    • Ver Perfil
    • http://shadowrev.blogspot.com
Re: area de texto dinamica y dependiente
« Respuesta #1 en: Miércoles 29 de Septiembre de 2010, 22:03 »
0
Aunque un poco tarde, una respuesta.

Para la primera pregunta, primero prepara una función que te arroje el resultado que quieres y lo pones en el textarea. Un ejemplo:
Código: PHP
  1. <textarea name="solucion" cols="45" rows="5" readonly="readonly" id="solucion"><?php
  2. if(!empty($_POST['dato_consulta']) {
  3.     echo funcionQueHaceLaConsultaYArrojaResultado($_POST['dato_consulta']);
  4. }
  5. ?></textarea>
  6.  
  7.  
Para que una página no se recargue, creo que como lo tienes es inevitable, ya que form.submit() lo que hace es precisamente eso, carga la página definida por "action=" en el formulario. Lo que puedes hacer es usar AJAX para cargar/sobreescribir los datos en el textarea; por aquí andan varios ejemplos de como hacerlo. Pero si se te hace muy complicado, carga los datos del formulario con lo que envíes por submit, por ejemplo:
Código: PHP
  1. <!-- Campo de texto -->
  2. <input type="text" name="campo_texto_1" value="<?php echo $_POST['campo_texto_1'] ?>" />
  3.  
  4. <!-- Caja de selección -->
  5. <input type="checkbox" name="checkbox_1" value="on" <?php echo !empty($_POST['checkbox_1']) ? 'selected ' : ''; ?>/>
  6.  
  7. <!-- Lista desplegable -->
  8. <select name="select_1">
  9. <option value="opc1"<?php echo (0 == strcmp($_POST['select_1'], 'opc1')) ? ' selected' : ''; ?>>Opcion 1</option>
  10. <option value="opc2"<?php echo (0 == strcmp($_POST['select_1'], 'opc2')) ? ' selected' : ''; ?>>Opcion 2</option>
  11. <option value="opc3"<?php echo (0 == strcmp($_POST['select_1'], 'opc3')) ? ' selected' : ''; ?>>Opcion 3</option>
  12. </select>
  13.  
:suerte:
Volará quien le ponga alas a sus sueños (Candidate for goddess)
Si el mal existe en este mundo, reside en el corazón de la humanidad (Edward D. Morrison - Tales of Phantasia)
Lo único que puedes cambiar del pasado, es lo que sientes por él en el presente (Lockon Stratos - Mobile Suit Gundam 00)
Ingeniero de Sistemas

jonathanperez

  • Miembro activo
  • **
  • Mensajes: 49
    • Ver Perfil
Re: area de texto dinamica y dependiente
« Respuesta #2 en: Martes 9 de Noviembre de 2010, 21:37 »
0
es muy recomendable utilizar ajax para los select dependientes como te comentaron antes mas claro imposible

aqui te dejo un enlace de una pagina de ajax que tiene un codigo de select dependientes y lo que debes hacer es ajustarlo y cambiar el tipo de campo que quieres que te muestre

http://www.formatoweb.com.ar/ajax/selec ... ientes.php


prueba haber si te sirve