Foros del Web » Programando para Internet » Javascript »

Como hago para mostrar datos de una lista desplegable en la misma pagina ?

Estas en el tema de Como hago para mostrar datos de una lista desplegable en la misma pagina ? en el foro de Javascript en Foros del Web. Hola a todos los capos de Java El tema es el siguiente, me vengo del foro de php, porque me dijeron que lo que necesito ...
  #1 (permalink)  
Antiguo 19/07/2008, 08:43
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Pregunta Como hago para mostrar datos de una lista desplegable en la misma pagina ?

Hola a todos los capos de Java

El tema es el siguiente, me vengo del foro de php, porque me dijeron que lo que necesito hacer se puede hacer en java.!!!!
Lo que necesito hacer es que desde una lista desplegable, selecciono un item y me lo muestra al lado en unas casillas y puedo modificarlo y hacer un update en la tabla correspondiente.

Les dejo una foto asi se ubican mejor.

El codigo PHP con lo que estoy haciendo es este, pero no me esta funcionando!!! Debe estar todo mal jejejeje !!!!!!

El Codigo lo fui armando con sosas que fui encontrando, pero se me quemaron las ideas ya !!!!
<html>
<body></body>

<?php

if(!isset($_POST["OK"])) //sino has usado el botón de Aceptar
{
$conexion=mysql_connect("localhost","root","xxxxxx ") or die("Problemas en la conexion");
mysql_select_db("empresa",$conexion) or die("Problemas en la selección de la base de datos");

// pon aquí el código para selecionar el id, en el formulario usa en el action la constante $PHP_SELF para usar la misma página, así te ahorras páginas
$result=mysql_query("SELECT * FROM materia_prima order by codigo ", $conexion);
?>
<form name="form2" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<?php
echo '<select name="codigo">';
while ($row1=mysql_fetch_array($result))
{echo '<option>'.$row1["codigo"].$row1["nombre"];}
?>
</select>
<?php
}

?>

<?php

$result1=mysql_query("select * from materia_prima where codigo = '$_POST[codigo]'",$conexion);


if($result1=$_POST['codigo']) //aca pon el resultado y el formulario
{
?>

Nombre:
<input type="text" name="nombre_new[<? echo $row1['nombre'];?>]" value="<?php echo $_POST['nombre']; ?>">

<?php
}

?>
<input type="submit" value="OK">
</form>
</html>

Aca les dejo una foto de lo que estoy necesitando, es simple, selecciono un item de la lista, y cuando clickeo que en esa misma pagina me muestre los datos para poder modificarlos y por medio de un boton darle un update a la tabla que corresponden esos datos !!!



Gracias !!!!!!!
  #2 (permalink)  
Antiguo 19/07/2008, 09:55
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

Código:
<?php
if(isset($_POST['ok'])){
	//update nombre en la base de datos where codigo=$_POST['code'];
    //algo asi
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function get_name_from_list(){
	if(document.getElementById('names_list')){
		if(document.getElementById('code')){
			if(document.getElementById('name')){
				var code = document.getElementById('names_list').options[document.getElementById('names_list').selectedIndex].value;
				var name = document.getElementById('names_list').options[document.getElementById('names_list').selectedIndex].text;
				document.getElementById('code').value=code;
				document.getElementById('name').value=name;
			}else{
				alert('Element name not found!!!');
			}
		}else{
			alert('Element code not found!!!');
		}
	}else{
		alert('Element names_list not found!!!');
	}
}
</script>
</head>
<body>
<form id="form1" name="form1" method="post" action="">
  <label>
  <select name="names_list" id="names_list" onchange="get_name_from_list()">
    <option>Select One</option>
    <option value="1">Item name 1</option>
    <option value="2">Item name 2</option>
    <option value="3">Item name 3</option>
    <option value="4">Item name 4</option>
          </select>
  </label>
Nombre
<input type="hidden" name="code" id="code" />
<label>
<input type="text" name="name" id="name" />
</label>

<label>
<input type="submit" name="ok" id="ok" value="ok" />
</label>
</form>
</body>
</html>
este codigo te va a ayudar con lo de la selección ahora solo te falta llenar la lista con tus datos, luego capturar el post con php del $_POST['code'] que contiene el codigo de materia_prima y $_POST['name'] que contiene el nuevo nombre de la materia_prima.

Saludos, espero te sirva...
  #3 (permalink)  
Antiguo 19/07/2008, 10:36
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

Re grosooooooooooo !!!!!!!
Ahora tengo que ver si lo puedo adaptar para que en esa lista pueda seleccionar los registros de esa tabla.
Muchas Gracias Tico.

Una cosa, en esta parte del principio ...
<?php
if(isset($_POST['ok'])){
//update nombre en la base de datos where codigo=$_POST['code'];
//algo asi
}
?>
ahi tengo que hacer un update de los registros que supuestamente modifique ???? es lo que no me quedo del todo claro ...

Y si alguien me ayuda a adaptar eso a que me muestre en la lista los datos de mis registros lo voy a agradecer, igualmente sigo probando, se me queman las pestañas jajajajaj

Gracias y espero alguna respuestita de ayuda por ahi !!!!!!!!
  #4 (permalink)  
Antiguo 19/07/2008, 11:21
Avatar de Un_Tico  
Fecha de Ingreso: julio-2008
Ubicación: Cartago, Costa Rica
Mensajes: 176
Antigüedad: 15 años, 9 meses
Puntos: 4
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

Código:
<?php
$conexion=mysql_connect("localhost","root","xxxxxx ") or die("Problemas en la conexion");
mysql_select_db("empresa",$conexion) or die("Problemas en la selección de la base de datos");
if(isset($_POST['ok'])){
	mysql_query("update mi_tabla set nombre='".$_POST['name']."'where codigo=".$_POST['code']);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<script type="text/javascript">
function get_name_from_list(){
	if(document.getElementById('names_list')){
		if(document.getElementById('code')){
			if(document.getElementById('name')){
				var code = document.getElementById('names_list').options[document.getElementById('names_list').selectedIndex].value;
				var name = document.getElementById('names_list').options[document.getElementById('names_list').selectedIndex].text;
				document.getElementById('code').value=code;
				document.getElementById('name').value=name;
			}else{
				alert('Element name not found!!!');
			}
		}else{
			alert('Element code not found!!!');
		}
	}else{
		alert('Element names_list not found!!!');
	}
}
</script>
</head>
<body>
<?php
$result=mysql_query("SELECT * FROM materia_prima order by codigo ", $conexion);
?>
<form id="form1" name="form1" method="post" action="">
  <label>
  <select name="names_list" id="names_list" onchange="get_name_from_list()">
    <option>Select One</option>
    <?php
	while ($row1=mysql_fetch_array($result)){
	?>
    	<option value="<?=$row1["codigo"]?>"><?=$row1["codigo"].$row1["nombre"]?></option>
    <?php
	}
	?>
  </select>
  </label>
Nombre
<input type="hidden" name="code" id="code" />
<label>
<input type="text" name="name" id="name" />
</label>

<label>
<input type="submit" name="ok" id="ok" value="ok" />
</label>
</form>
</body>
</html>
O algo asi.. Suerte, pero siempre antes de preguntar intenta hacerlo tu primero, investiga...

Saludos...
  #5 (permalink)  
Antiguo 19/07/2008, 11:59
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

tico sos un capo, anda joyaaaa !!!!! Ahora toy viendo como modificarlo para que me muestre el resto de los registros de la tabla, y por supuesto poder modificarlos
Se me mezclan todas las letritas, me parece que lo dejo para mas tarde o otro dia !!!!!!!!

Muchas Gracias !!!!!!!! :D
  #6 (permalink)  
Antiguo 21/07/2008, 08:56
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

Hola gente
Aca estoy de nuevo !!!
Estube modificando el codigo con el que me ayudo Tico, y resulta que le agregue para poder modificar
el nombre y otro campo mas que es unidad ...
El tema es que me pone en los 2 campos nombre y unidad, el valor de nombre.

o sea :

Del select selecciono por ejem: el registro "Aluminio en Chapas, >>que su unidad es "kgs"

y en las casillas me pone por ejemplo Nombre: "Aluminio en Chapas " Unidad: "Aluminio en Chapas"

Aca dejo el Codigo, no se en que le estoy errando :S


<?php
$conexion=mysql_connect("localhost","root","xxxxxx ") or die("Problemas en la conexion");
mysql_select_db("empresa",$conexion) or die("Problemas en la selección de la base de datos");
if(isset($_POST['ok'])){
mysql_query("update materia_prima set
nombre='".$_POST['name']."', unidad='".$_POST['unid']."'
where codigo=".$_POST['code']);
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PRUEBA FORO</title>
<script type="text/javascript">
function get_name_from_list(){
if(document.getElementById('names_list')){
if(document.getElementById('code')){
if(document.getElementById('name')){
if(document.getElementById('unid')){
var code = document.getElementById('names_list').options[document.getElementById('names_list').selectedInde x].value;
var name = document.getElementById('names_list').options[document.getElementById('names_list').selectedInde x].text;
var unid = document.getElementById('names_list').options[document.getElementById('names_list').selectedInde x].text;

document.getElementById('code').value=code;
document.getElementById('name').value=name;
document.getElementById('unid').value=unid;


}else{alert('Element unid not found!!!');}
}else{alert('Element name not found!!!');}
}else{alert('Element code not found!!!');}
}else{alert('Element names_list not found!!!');}
}
</script>
</head>
<body>
<?php
$result=mysql_query("SELECT * FROM materia_prima order by nombre ", $conexion);
?>
<form id="form1" name="form1" method="post" action="">
<label>
<select name="names_list" id="names_list" onchange="get_name_from_list()">
<option>Select One</option>
<?php
while ($row1=mysql_fetch_array($result)){

print " <option value='".$row1["codigo"]."'>".$row1["nombre"]."</option>";
}
?>
</select>
</label>
Codigo:
<input type="text" size="5" name="code" id="code" disabled/>
<label>
Nombre:
<input type="text" size="35" name="name" id="name" />
</label>
<label>
Unidad:
<input type="text" size="30" name="unid" id="unid" />
</label>



<label>
<input type="submit" name="ok" id="ok" value="ok" />
</label>
</form>
</body>
</html>

Gracias
  #7 (permalink)  
Antiguo 21/07/2008, 13:41
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

Hola de nuevo !!!!!!
Ya logre que me guarde en un codigo, el nombre modificado y unidad que es el campo que le agregue.

Lo que no puedo hacer es que cuando me muestre, en Nombre: me salga el nombre y en Unidad: muestre la unidad.

Ahora lo esta mostrando asi.......
(Ejemplo :Nombre : 0019[-]Acero Para Matriz Cortante 1[-]kgs
Unidad: 0019[-]Acero Para Matriz Cortante 1[-]kgs)

0019 es el codigo
Acero Para Matriz Cortante es el nombre
y kgs es unidad.


Lo que kiero es que en cada casilla me muestre cada campo

Alguien tiene alguna idea ???????

Gracias
  #8 (permalink)  
Antiguo 21/07/2008, 13:43
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

Me olvide de dejar el Codigo del Select, aca esta :

<body>
<?php
$result=mysql_query("SELECT * FROM materia_prima order by nombre ", $conexion);
?>
<form id="form1" name="form1" method="post" action="">

<select onchange="get_name_from_list()" name="names_list" id="names_list" >
<option value="">Seleccionar</option>
<?php
while ($row1=mysql_fetch_array($result))
{
print " <option value='".$row1["codigo"]."'>
".$row1["codigo"]."[-]".$row1["nombre"]."[-]".$row1["unidad"].
"</option>";
}
?>
</select>


<input type="hidden" size="5" name="code" id="code"/>
Nombre:
<input type="text" size="35" name="name" id="name" />
Unidad:
<input type="text" size="35" name="unid" id="unid" />
<input type="submit" name="ok" id="ok" value="ok" />

</form>
</body>
  #9 (permalink)  
Antiguo 22/07/2008, 06:57
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

Sigo con la misma duda sin poder resolver.
Aca les dejo una foto de lo que me hace, cuando selecciono un registro



Me pone el mismo nombre en los 2 campos.

Aca les dejo el Codigo como esta hasta el momento !!!!

Código PHP:
<?php
$conexion
=mysql_connect("localhost","root","002356") or die("Problemas en la conexion");
mysql_select_db("empresa",$conexion) or die("Problemas en la selección de la base de datos");

if(isset(
$_POST['ok'])){
mysql_query("update materia_prima set 
                    nombre='"
.$_POST['name']."',
                    unidad='"
.$_POST['unid']."'
where codigo="
.$_POST['code']);



}


?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>PRUEBA FORO</title>


<script type="text/javascript">
function get_name_from_list(){
    if(document.getElementById('names_list')){
        if(document.getElementById('code')){
            if(document.getElementById('name')){
                if(document.getElementById('unid')){

var code = document.getElementById('names_list').options[document.getElementById('names_list').selectedIndex].value;
var name = document.getElementById('names_list').options[document.getElementById('names_list').selectedIndex].text;
var unid = document.getElementById('names_list').options[document.getElementById('names_list').selectedIndex].text;

                document.getElementById('code').value=code;
                document.getElementById('name').value=name;
                document.getElementById('unid').value=name;


                }else{alert('Element unid not found!!!');}
            }else{alert('Element name not found!!!');}
        }else{alert('Element code not found!!!');}
    }else{alert('Element names_list not found!!!');}
}
</script>
</head>


<body>
<?php
$resump
=mysql_query("SELECT * FROM materia_prima order by nombre "$conexion);

?>
<form id="form1" name="form1" method="post" action="">

<select onchange="get_name_from_list()" name="names_list" id="names_list" >
    <option value="">Seleccionar</option>
    <?php
    


while ($row1=mysql_fetch_array($resump))
{  

print 
"<option value='".$row1["codigo"]."'> 
        "
.$row1["nombre"]."</option>";
  }
?>
 
</select>


<input type="hidden" size="5" name="code" id="code"/>
Nombre:
<input type="text" size="35" name="name" id="name" />
Unidad:
<input type="text" size="35" name="unid" id="unid" />
<input type="submit" name="ok" id="ok" value="ok" />


</form>
</body>
</html>




Si alguien me da una mano se lo agradezco !!! :)

El tema es que tendria que poner en el campo Nombre solo el nombre y en Unidad: la unidad
  #10 (permalink)  
Antiguo 22/07/2008, 07:30
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

Hola,
ps veo que
ni has sacado
siquiera la unidad
de la consuta, bueno modifica
esto aver si asi ya funciona bien ...
Código PHP:
while ($row1=mysql_fetch_array($resump))
{  

print 
"<option value='".$row1["codigo"]."' alt='"$row1["unidad"] ."'> 
        "
.$row1["nombre"]."</option>";

js
Código HTML:
var code = document.getElementById('names_list').options[document.getElementById('names_list').selectedIndex].value;
var name = document.getElementById('names_list').options[document.getElementById('names_list').selectedIndex].text;
var unid = document.getElementById('names_list').options[document.getElementById('names_list').selectedIndex].getAttribute("alt");

                document.getElementById('code').value=code;
                document.getElementById('name').value=name;
                document.getElementById('unid').value=unid;
echate un curso de php
www.illasaron.com/
con este yo aprendi n_n
y de paso uno Javascript no Java

bueno te cuidas
Saudos
:]
__________________
Aerolíneas Alicia :D
  #11 (permalink)  
Antiguo 22/07/2008, 07:51
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

Muy bueno marcopoloaz06, anda de 10 !!!!!!!!

Te hago una pregunta , necesito mostrar mas registros, unos que son numericos, tambien agrego de la forma >>> var unid = document.getElementById('names_list').options[document.getElementById('names_list').selectedInde x].getAttribute("alt");

Y ya me pongo a leer ese curso o verlo, veo que tiene video tutoriales

Gracias !!!!!
  #12 (permalink)  
Antiguo 22/07/2008, 08:24
Avatar de marcopoloaz06  
Fecha de Ingreso: julio-2007
Ubicación: México
Mensajes: 457
Antigüedad: 16 años, 9 meses
Puntos: 11
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

ps,
si puedes
usar otro atributo
como el rel que uso yo
y si tienes mas datos los puedes
poner en ese attributo unidos por
algo y en javascript los separas y listo

ve->
http://librosweb.es/javascript/

SAludos
adioss
XD
__________________
Aerolíneas Alicia :D
  #13 (permalink)  
Antiguo 22/07/2008, 08:39
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Como hago para mostrar datos de una lista desplegable en la misma pagina ?

ok gracias marcopolo :D

ya me pongo a leer esos manuales a ver si puedo hacer algo :)
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




La zona horaria es GMT -6. Ahora son las 11:36.