Foros del Web » Programando para Internet » Javascript »

Utilizar value de lista menu dinamico dentro de query en javascript

Estas en el tema de Utilizar value de lista menu dinamico dentro de query en javascript en el foro de Javascript en Foros del Web. Ya escribi hace unos dias preguntando por esto, tal vez no me explique bien. El asunto es que necesito que una caja de texto me ...
  #1 (permalink)  
Antiguo 28/06/2006, 00:38
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 18 años, 6 meses
Puntos: 1
Utilizar value de lista menu dinamico dentro de query en javascript

Ya escribi hace unos dias preguntando por esto, tal vez no me explique bien.
El asunto es que necesito que una caja de texto me recoja valoes dinamicos en relacion a una lista menu dinamica, tengo una lista menu dinamica que tiene un evento onchange que manda un value a la funcion javascript, en la funcion recojo el value HASTA AQUI TODO BIEN, el problema es que no se utilizar este value dentro de la query que hay en el javascript . Necesito ayuda urgente gracias de antemano, y un saludo el codigo es este:

El codigo es el siguiente:

<?php require_once('Connections/conect.php'); ?>
<?php
mysql_select_db($database_conect, $conect);
$query_lista = "SELECT * FROM con_precio";
$lista = mysql_query($query_lista, $conect) or die(mysql_error());
$row_lista = mysql_fetch_assoc($lista);
$totalRows_lista = mysql_num_rows($lista);
?>

<html>
<head>

<title>Documento sin t&iacute;tulo</title>
</head>
<script language="javascript">
function caja_texto(valor){
var valora=valor;

alert(valora)

var precio='<?php
mysql_select_db($database_conect, $conect);
$query_precio = "SELECT preico FROM con_precio WHERE codigo=valora";
$precio = mysql_query($query_precio, $conect) or die(mysql_error());
$row_precio = mysql_fetch_assoc($precio);
$totalRows_precio = mysql_num_rows($precio);
echo $row_precio;
?>'

var coste='<?php echo $row_precio['preico']; ?>'
alert(coste)

var caja = document.getElementById("caja");
caja.value=valora;
}
</script>

<body>
<form name="form1" method="post" action="">
<p>FORMULARIO CAJA TEXTO SEGUN VALOR SELECCIONADO</p>
<p>
<select name="lista" id="lista" onChange="caja_texto(this.value) ">
<?php
do {
?>
<option value="<?php echo $row_lista['codigo']?>"><?php echo $row_lista['nombre']?> </option>
<?php
} while ($row_lista = mysql_fetch_assoc($lista));
$rows = mysql_num_rows($lista);
if($rows > 0) {
mysql_data_seek($lista, 0);
$row_lista = mysql_fetch_assoc($lista);
}
$valor=$row_lista;
?>
</select>
<input name="caja" type="text" id="caja">
</p>
</form>
</body>
</html>
<?php
mysql_free_result($lista);

mysql_free_result($precio);


?>
  #2 (permalink)  
Antiguo 28/06/2006, 00:48
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

En mi opinión sigues sin explicarte bien...
Sabes pasar el dato de un select a un text... ahora no sebes que hacer...

Bueno, desde un text se puede modificar... si no es tu intención, no tiene ningún sentido ese paso...
Si luego quieres modificar el valor de la base de datos, tendrías que hacer submit a una página con una instrucción update...

...pero... eso ya sería en el servidor... e incluso con ese dato no tiene ningún sentido javascript, ya que el envío es cosa html básico...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 28/06/2006, 01:03
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 18 años, 6 meses
Puntos: 1
Haber si de esta me explicop bien, en asunto es que la lista recoge le etiqueta de una tabla que tiene 3 campos, id, nombre y precio necesito los 3 valores y que la cja de texto recoja el precio y dando la posibilidad de podes cambiar el valor de este campo, para luego hacer un insert de estos 3 valores, gracias y un saludo.
  #4 (permalink)  
Antiguo 28/06/2006, 04:26
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

¿Estás dispuesto a realizar un trabajo un pelín complejillo...?

La idea es crear desde php un array de objetos indezados por el id:
function elemento(nombre, precio) {
this.nombre = nombre;
this.precio = precio;
}

var elementos = new Array();
elementos["id1"] = new elemento("objeto1", 1000);
elementos["id2"] = new elemento("objeto2", 1000);

Luego poner el formulario más o menos así:
<form...>
<select onchange="cambiar(this.form, this.value)">
<option value="id1" selected >objeto1</option>
<option value="id2" >objeto2</option>
</select>

<input type="text" name="id" readonly value="id1" />
<input type="text" name="nombre" readonly value="objeto1" />
<input type="text" name="precio"value="1000" />

y la función cambiar...
function cambiar(f, d) {
with (f) {
id.value = d;
nombre.value = elementos[d].nombre;
precio.value = elementos[d].precio;
}
}

Dime si lo entiendes, y si crees que puede servirte...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 28/06/2006, 07:22
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 18 años, 6 meses
Puntos: 1
Muy buenas, gracias por tu interes Caricatos, la verdad es que si que veo un poco compleja tu solucion, pero yo creo que tiene que ser mas sencillo que todo eso, lafuncion javascript es esta:
<script language="javascript">
function caja_texto(valor){
var valora=valor;

alert(valora)

var precio='<?php
mysql_select_db($database_conect, $conect);
$query_precio = "SELECT preico FROM con_precio WHERE codigo=valora";
$precio = mysql_query($query_precio, $conect) or die(mysql_error());
$row_precio = mysql_fetch_assoc($precio);
$totalRows_precio = mysql_num_rows($precio);

var coste='<?php echo $row_precio['preico']; ?>'
alert(coste)

?>'
<script>

El asunto es que si en lugar de poner WHERE codigo=valora pongo WHERE codigo='1' me saca en el segundo alert el precio correspondiente al precio de id=1, el asunto es ¿ como utilizar VAR VALORA en la query del javascript ? ¿Tal vez no se pueda ? Un saludo de antemano y muchas gracias por todo.
  #6 (permalink)  
Antiguo 28/06/2006, 09:11
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Tal vez se pueda hacer algo más sencillo, pero me cuesta saber tu intención...

Como haces una selección con un select, pensé que fambién pretendías mostrar los nombres correspondientes en sendos campos del formulario... y de ser así, se me ocurrió la respuesta (bueno, estoy en un proyecto que tiene cierta similitud...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #7 (permalink)  
Antiguo 28/06/2006, 12:12
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 18 años, 6 meses
Puntos: 1
El asunto es que estoy haciendo una aplicacion en la que la caja de texto tenga el precio correspondiente su id con la posibilidad de poder cambiar este, luego a la hora de hacer la insert en la tabla que se quedaran los registros , antes de hacer la insert hago otra select para sacar el nombre correspondiente al id ( asi ya tengo los tres valores aunque el precio este cambiado ) pero el asunto es que tiene que aparecer el precio por defecto por eso estoy intentando hacerlo con javascript ya que este tiene que cambiar cada vez que se cambie la etiqueta de la lista, un saludo y gracias.

Última edición por atiro8; 28/06/2006 a las 12:20
  #8 (permalink)  
Antiguo 02/07/2006, 05:12
 
Fecha de Ingreso: octubre-2005
Mensajes: 151
Antigüedad: 18 años, 6 meses
Puntos: 1
Lo Consegui

He conseguido hace lo que necesitaba, este script lo voy a utilizar para que una caja de texto coja el valor dinamicamente de una tabla con tres campos:CODIGO, NOMBRE,PRECIO la caja de texto recogera el precio del producto seleccionado y no pierdo el CODIGO para luego poder hacer una insert del codigo y el precio, el que maneje el programa podra cambiar el precio, pero por defecto le saldra el precio del producto. Al final NO HE UTILIZADO JAVASCRIPT pero dejo el codigo por si le puede servir a otra persona, esta basado en un codigo que vi en NO ME ACUERDO y esta basado en dos paginas PHP:

PRENDA1.PHP

Código HTML:
<?php require_once('Connections/conect.php'); ?>
<?php
mysql_select_db($database_conect, $conect);
$query_prenda = "SELECT * FROM con_precio";
$prenda = mysql_query($query_prenda, $conect) or die(mysql_error());
$totalRows_prenda = mysql_num_rows($prenda);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento sin t&iacute;tulo</title>
</head>

<body>
<form name="form1" method="post" action="prenda2.php">
<?php 
$flagprenda=$prenda2;

 ?>
  <div align="center">
  <!-- PRIMERA SELECT -->
    <!-- PRIMERA SELECT -->
    <p>
      <select name="prenda2" id="prenda2" onChange="submit()">
	  <?php if (!isset($prenda2)){?>
        <option value="value">Selecciona una prenda</option>
        <?php $prenda2="0"; }
 while ($row_prenda = mysql_fetch_assoc($prenda)){  
?>
        <option value="<?php echo $row_prenda['codigo']?>" <?php if($row_prenda['codigo']==$prenda2){?> selected <?php } ?>><?php echo $row_prenda['nombre']?></option>
        <?php }?>
      </select>
	  </p>
	    <!-- PRIMERA SELECT -->
		  <!-- PRIMERA SELECT -->
  <p>
  
   <!-- ///////////////////////////////////////////////////////////////////////////// -->
   <?php 
   if($prenda!="0"){
   $query_precio = "SELECT * FROM con_precio WHERE codigo='$prenda2'";
   $precio = mysql_query($query_precio, $conect) or die(mysql_error());
   $row_precio = mysql_fetch_assoc($precio);
   $totalRows_precio = mysql_num_rows($precio);
   ?>
     <p>Precio &gt; 
      <input name="precio" type="text" id="precio" size="5" value="<?php echo $row_precio['preico'];?>">
     </p>
  <?php }?>   
    <input name="flagprenda" type="hidden" id="flagprenda" value="<?php echo $flagprenda;?>">
    
  </p>
  </div>
</form>
</body>
</html>
<?php
mysql_free_result($prenda);
?> 
PRENDA2.PHP

Código HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Documento sin t&iacute;tulo</title>
</head>
<?php 
echo $prendaful;
echo $prenda;
if ($prendaful!=$prenda2) { 
    header("location:prenda1.php?prenda2=$prenda2"); 
    } 
else { 
    // Ingreso de datos a la base de datos 
    } 
?> 
<body>

</body>
</html> 
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 02:34.