Foros del Web » Programando para Internet » PHP »

Formulario: Mostrar registros al selecionar un select

Estas en el tema de Formulario: Mostrar registros al selecionar un select en el foro de PHP en Foros del Web. Hola a todos. Tengo un formulario el cual tiene un Select y un Textarea, mi intención es que al usuario selecionar en renglon del select ...
  #1 (permalink)  
Antiguo 14/10/2003, 21:06
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
Formulario: Mostrar registros al selecionar un select

Hola a todos.

Tengo un formulario el cual tiene un Select y un Textarea, mi intención es que al usuario selecionar en renglon del select en el textarea me muestre los resultados de una query que le hize a X registro de mi tabla dependiendo del select que seleciono el usuario, se entiende?,
espero que si y que alguien me de un poco de luz... Gracias.
  #2 (permalink)  
Antiguo 15/10/2003, 02:06
Ex Colaborador
 
Fecha de Ingreso: junio-2002
Mensajes: 9.091
Antigüedad: 15 años, 5 meses
Puntos: 16
Hola,

¿Con recarga de pagina o sin la recarga? Si es sin recarga, es javascript. Si es con recarga, es PHP.

Saludos.
__________________
Josemi

Aprendiz de mucho, maestro de poco.
  #3 (permalink)  
Antiguo 15/10/2003, 17:56
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
Como resulte más práctico y más tolernate a fallos, lo que NO quiero es tener que hacer dos páginas, osea una con el select y otra con el textarea, si no hay de otra así lo haré aunque sea recargando esá misma página, osea, algo así:

-Si no biene una variable para recogerse con case que ponga por default la página con el formulario que solo tiene el select.

-Si biene una variable (que sera enviada por el select)se toma con case, se hace la consulta a la DB y se muestra un formulario nuevo con el textarea con los resultados de esa consulta.


Así seria una solución pero no me gusta, me gustaria que el usuario tenga todo el tiempo visible un formulario con el select encima del textarea y que según selecione se rellene el textarea aunque recargue la página dependiendo de lo que seleciono el usuario.
  #4 (permalink)  
Antiguo 15/10/2003, 23:25
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Bueno... si quieres que no tenga que recargar toda la página, siempre puedes utilizar frames. Uno con el select y otro con el texarea.

saludos
  #5 (permalink)  
Antiguo 15/10/2003, 23:37
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
No tiene que ser otra pagina, puede ser la misma, pero con la variable aplicada.

if (isset($_POST["tuSelect"])) {
//Conectas y buscas en la BD
$contenidoText=$row["campo"];
}

...

<textarea name="tal"><?= $contenidoText; ?></textarea>


Algo así sería...

__________________
Manoloweb
  #6 (permalink)  
Antiguo 16/10/2003, 00:46
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Bueno, en ese caso recargaría toda la página y no sólo el textarea y parece que hrxnet quiere un resultado más parecido a una función de JavaScript. O sea que lo único que se recargue sea el textarea y no el resto de la página.

Saludos
  #7 (permalink)  
Antiguo 16/10/2003, 15:07
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
Bien me lleve de jpinedo, hice un frame con el select y otro con el textarea, pero cuando toco el action del frame que tiene el select (el cual apunta al frame del textarea) me carga la el frame del textarea en el mismo frame del select....

Nose como seria entonces, de alguna forma abria que enviarle el control al frame que tiene el textarea para que no se cargue en el mismo frame del select.
  #8 (permalink)  
Antiguo 16/10/2003, 16:41
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
<form target="nombreDeTuFrame" bla bla>

__________________
Manoloweb
  #9 (permalink)  
Antiguo 16/10/2003, 17:18
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
probe así:

<form action="test2.php" method="post" name="form1" target="test2">

y así:

<form action="test2.php" method="post" name="form1" target="test2.php">

me das un ejemplo más claro por favor?
  #10 (permalink)  
Antiguo 17/10/2003, 01:50
Avatar de jpinedo
Colaborador
 
Fecha de Ingreso: septiembre-2003
Ubicación: Lima, Perú
Mensajes: 3.120
Antigüedad: 14 años, 2 meses
Puntos: 41
Busca el error...

De la primera forma no debería haber ningún error. Yo lo acabo de probar y funciona bien.
<form action="test2.php" method="post" name="form1" target="test2">

De la segunda forma, ni lo pienses porque target contiene el nombre del frame asignado en el frameSet y no el nombre del archivo que carga ahí.

Definitivamente tu error está en otra parte. Verifica que todo esté bien escrito. Sobretodo que el nombre del frame del textarea sea test2.

Si necesitas más ayuda, pon un poco más de código.

Saludos
  #11 (permalink)  
Antiguo 17/10/2003, 09:29
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
Ambas forman funcionan solo que al darle click al action se me abre el test2.php en otra ventana nueva y no es lo que quiero, quiero que se recargue el textarea del frame de abajo.
  #12 (permalink)  
Antiguo 17/10/2003, 10:09
Avatar de Manoloweb  
Fecha de Ingreso: enero-2002
Ubicación: Monterrey
Mensajes: 2.454
Antigüedad: 15 años, 10 meses
Puntos: 5
Y como se llama el frame de abajo???
__________________
Manoloweb
  #13 (permalink)  
Antiguo 17/10/2003, 11:44
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
Es una página con dos Frames, uno superior y otro inferior.
  #14 (permalink)  
Antiguo 17/10/2003, 11:55
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
eso se puede hacer con una mezcla de java-s y php,

aqui te dejo un ejemplo de lo que seria un select

miren, hago esto para sacar los datos de mysql y ponerlos en un select

Código PHP:
# MySQL-Front Dump 2.5
#
# Host: localhost   Database: a
# --------------------------------------------------------
# Server version 3.23.55-nt


#
# Table structure for table 'script_s_p_usuarios'
#

DROP TABLE IF EXISTS `script_s_p_usuarios`;
CREATE TABLE `script_s_p_usuarios` (
  `
idbigint(11NOT NULL auto_increment,
  `
webnamevarchar(120NOT NULL default '',
  `
nickvarchar(16NOT NULL default '',
  `
passwordtinytext NOT NULL,
  `
emailvarchar(100NOT NULL default '',
  `
datedatetime NOT NULL default '2001-01-20 00:00:00',
  `
descripcionvarchar(146NOT NULL default '',
  `
weburlvarchar(255NOT NULL default '',
  `
ipusrvarchar(70NOT NULL default '000.000.000.000',
  `
nivel_accesochar(2NOT NULL default '2',
  `
visitasint(60NOT NULL default '0',
  `
imagenvarchar(255NOT NULL default 'vacio.gif',
  `
votosint(60NOT NULL default '0',
  
KEY `id` (`id`)
TYPE=MyISAM;



#
# Dumping data for table 'script_s_p_usuarios'
#

INSERT INTO `script_s_p_usuarios` (`id`, `webname`, `nick`, `password`, `email`, `date`, `descripcion`, `weburl`, `ipusr`, `nivel_acceso`, `visitas`, `imagen`, `votos`) VALUES("6""Emuman""mixcool""0000""[email protected]""2003-08-08 02:42:40""La mejor web de noticias del mundo de la emulación""http://www.emuman.web1000.com""000.000.000.000""2""33""topbanner.jpg""11");
INSERT INTO `script_s_p_usuarios` (`id`, `webname`, `nick`, `password`, `email`, `date`, `descripcion`, `weburl`, `ipusr`, `nivel_acceso`, `visitas`, `imagen`, `votos`) VALUES("8""CMBlackriver""black_river""0000""[email protected]""2003-08-08 16:54:39""CMBlackriver, una de las webs mejores en ESPAÑOL, donde encontrarás: tácticas, descargas, editores, demos, actualizaciones...todo sobre CM (Champi""http://www.cmblackriver.net/""111.111.111.111""2""1627""banner_cmblackriver.gif""34");
INSERT INTO `script_s_p_usuarios` (`id`, `webname`, `nick`, `password`, `email`, `date`, `descripcion`, `weburl`, `ipusr`, `nivel_acceso`, `visitas`, `imagen`, `votos`) VALUES("31""Cyberforos""pablasso""0000""[email protected]""2003-08-19 17:12:09""Cyberforos es una GRAN comunidad dedicada al Computo, Programacion y Entretenimiento, no esperes mas y unete!""http://www.cyberforos.com""222.222.222.222""2""936""banner.gif""70");
INSERT INTO `script_s_p_usuarios` (`id`, `webname`, `nick`, `password`, `email`, `date`, `descripcion`, `weburl`, `ipusr`, `nivel_acceso`, `visitas`, `imagen`, `votos`) VALUES("12""DaRpA""darkmaster""0000""[email protected]""2003-08-12 22:10:53""Noticias, juegos, roms, emuladores, utilidades y mucho más.""http://217.125.50.214/users/bravosoftweb""333.333.333.333""2""130""logo.gif""22");
INSERT INTO `script_s_p_usuarios` (`id`, `webname`, `nick`, `password`, `email`, `date`, `descripcion`, `weburl`, `ipusr`, `nivel_acceso`, `visitas`, `imagen`, `votos`) VALUES("32""Foros Del Web""fdw""0000""[email protected]""2003-08-19 18:23:51""EL MEJOR FORO PARA APRENDER Y CONSULTAR CUESTIONES DE PROGRAMACION WEB. NO TE LO PUEDES PERDER !!!""http://www.forosdelweb.com""444.444.444.444""2""913""forosdelweb.jpg""12"); 

Código PHP:
<?php
$sql_host 
"localhost";  // Host, nombre del servidor o IP del servidor Mysql.
$sql_usuario "root";    // Usuario de Mysql
$sql_pass "xxxx";          // contraseña de Mysql
$sql_db "xxxx";   // Base de datos que se usará el post
$sql_tabla "script_s_p_usuarios";    // Nombre de la tabla que contendrá los datos de los usuarios

$db_connect mysql_connect($sql_host,$sql_usuario,$sql_pass);
mysql_select_db($sql_db);

$selecttbl "id,webname,nick,password,email,date,descripcion,weburl,ipusr,nivel_acceso,visitas,imagen,votos";//Campos de Registro Administradores BD

$consulta    "SELECT * FROM $sql_tabla";
$result mysql_query($consulta$db_connect) or die(mysql_error());
$option "";
$counter=0;
$array  "";


        while(
$rows mysql_fetch_object($result)){
                
$option .="<option value=\"$counter\">$rows->nick</option>\n";
                
$array  .="\nstore[$counter] = new Array('$rows->id','$rows->webname','$rows->nick','$rows->email','$rows->date','$rows->descripcion','$rows->weburl','$rows->ipusr','$rows->imagen','$rows->visitas','$rows->votos');";
                
$counter++;
        }

echo <<< HTML
<html>
<head>
<script language="JavaScript" type="text/JavaScript">
var store = new Array();
HTML;
echo 
$array;
echo <<< HTML

function showText(form)
{
    var select = form.select;
    var number = select.options[select.selectedIndex].value;
    var array = store[number];
    for(i=0;i<array.length;i++){
        form.txt[i].value = array[i];
    }
}
</script>


<body bgcolor="#ffffff">
        <table width="501" align="center" cellspacing="0" cellpadding="0" border="0" height="385">
            <tbody>
                <tr>
                    <td>
                        <table cellspacing="1" cellpadding="3" width="501" bgcolor=Black border="0">
                            <tbody>
                                <tr height="395">
                                    <td colspan="2" align="center" valign="middle" bgcolor="#333333" width="493" height="395">
                                        <form method="post" action="$pag?accion=envia_email" enctype="multipart/form-data" name="ubicaform2" id="ubicaform2">
                                        <table align="center" cellspacing="1" cellpadding="2" width="451" bgcolor="black" border="0">
                                            <tbody>
                                                <tr height="46">
                                                        <td valign="middle" bgcolor="#4b4b4b" width="218" height="46">
                                                        <div align="center"><form action="" method="post" name="main" target="_self" id="main">
                                                                        <font face="Verdana" color="white" size="1"><b>SELECCIONA EL USUARIO:<br>

<select name="select" id="select" onchange="showText(this.form)" class="botones3">
<option selected>- seleccione -</option>
HTML;
echo 
$option;
echo <<< HTML
</select>
<input type="hidden" name="txt0" id="txt">
                                                        </font></div>
                                                    </td>
                                                    <td align="center" valign="bottom" bgcolor="#696969" width="223" height="46">
                                                    <input name="txt1" type="text" id="txt" class="botones3" size="35">
<input type="hidden" name="txt2" id="txt">
                                                    <input name="txt3" type="text" id="txt" class="botones3" size="35">
<input type="hidden" name="txt4" id="txt">
<input type="hidden" name="txt5" id="txt">
<input type="hidden" name="txt6" id="txt">
<input type="hidden" name="txt7" id="txt">
<input type="hidden" name="txt8" id="txt">
<input type="hidden" name="txt9" id="txt">
<input type="hidden" name="txt10" id="txt">

                                                    </td>
                                                    </tr>
                                                <tr height="1">
                                                    <td colspan="2" valign="middle" bgcolor="black" width="446" height="1"></td>
                                                </tr>
                                                <tr height="124">
                                                    <td colspan="2" valign="middle" bgcolor="#4b4b4b" width="446" height="124">
                                                        <div align="center">
                                                                        <font face="Verdana" color="white" size="1"><b>INTRODUCE EL TITULO DEL EMAIL:<br>
                                                                                <textarea name="titulo" rows="8" class="botones3" cols="70"></textarea></b></font></div>
                                                    </td>
                                                </tr>
                                                <tr height="191">
                                                    <td colspan="2" valign="middle" bgcolor="#4b4b4b" width="446" height="191">
                                                        <div align="center">
                                                                        <font face="Verdana" color="white" size="1"><b>INTRODUCE EL CUERPO O TEXTO DEL EMAIL:<br>
                                                                                <textarea name="cuerpo" rows="13"  class="botones3" cols="70"></textarea></b></font></div>
                                                    </td>
                                                </tr>
                                            </tbody>
                                            </table>
                                        </td>
                                </tr>
                                <tr height="21">
                                    <td align="center" bgcolor=gray width="325" height="21"><input name="addubica" type="submit" id="addubica" value="Aceptar y Enviar" class="botones3"> <input type="button" value="Limpiar Pantalla" onclick="window.location.reload()" class="botones3"></td>
                                    <td align="center" valign="middle" bgcolor=gray width="161" height="21"><input type="button" value=" Volver " onclick="history.back()" class="botones3"></td>
                                </tr>
                                <tr height="4">
                                    <td colspan="2" align="center" bgcolor=DarkSeaGreen width="493" height="4"></td>
                                </tr>
                            </tbody>
                            </form>
                        </table>
                    </td>
                </tr>
            </tbody>
        </table>
    </body>
HTML;
?>


a ver si te sirve de algo, almenos de una idea
__________________
3w.valenciadjs.com
3w.laislatv.com

Última edición por nuevo; 17/10/2003 a las 11:57
  #15 (permalink)  
Antiguo 17/10/2003, 12:18
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
Que se supone que hace ese script?...
  #16 (permalink)  
Antiguo 17/10/2003, 12:21
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
selecciona de la base de datos un registro mediante el select, y lo muestra en campos input, aunq podrian ser text o lo que se te ocurra, ya viene generado para varios... por eso algunos estan desconectados con HIDE dentro del input, usa los que necesites, y modifica a tus necesidades.,..
__________________
3w.valenciadjs.com
3w.laislatv.com
  #17 (permalink)  
Antiguo 17/10/2003, 12:35
Avatar de hrxnet  
Fecha de Ingreso: julio-2002
Ubicación: Sto. Dgo. RD
Mensajes: 516
Antigüedad: 15 años, 5 meses
Puntos: 0
Gracias por la intención pero no es lo que busco.
  #18 (permalink)  
Antiguo 17/10/2003, 16:02
Avatar de nuevo  
Fecha de Ingreso: mayo-2003
Ubicación: Spain
Mensajes: 2.009
Antigüedad: 14 años, 7 meses
Puntos: 2
pues solo puedo decir que hace lo que pides... el resto es cosa tuya...
__________________
3w.valenciadjs.com
3w.laislatv.com
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

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 18:12.