Foros del Web » Programando para Internet » PHP »

Como pasar una variable javascript a una consulta sql dentro de php

Estas en el tema de Como pasar una variable javascript a una consulta sql dentro de php en el foro de PHP en Foros del Web. Hola a todos, les agradecería me aclararan este tema. Tengo el siguiente código function cargo_dato(valor){ var dato=valor; var jugadores='<?php mysql_select_db($database_torneos, $torneos); $query_jugador = "SELECT * ...
  #1 (permalink)  
Antiguo 27/05/2010, 06:09
 
Fecha de Ingreso: mayo-2010
Mensajes: 3
Antigüedad: 13 años, 10 meses
Puntos: 0
Pregunta Como pasar una variable javascript a una consulta sql dentro de php

Hola a todos, les agradecería me aclararan este tema.
Tengo el siguiente código

function cargo_dato(valor){
var dato=valor;

var jugadores='<?php
mysql_select_db($database_torneos, $torneos);
$query_jugador = "SELECT * FROM jugadores WHERE Nombre= dato";
$jugador = mysql_query($query_jugador, $torneos) or die(mysql_error());
$row_jugador = mysql_fetch_assoc($jugador);
$totalRows_jugador = mysql_num_rows($jugador);
echo $row_jugador;
?>'

var nombre='<?php echo $row_jugador['Nombre']; ?>'

var hp='<?php echo $row_jugador['HP']; ?>'

dato1.value=nombre;
dato2.value=hp;
}
</script>

<form name="form1" method="post" action="">
<select name="select" id="lista" onChange="cargo_dato(this.value) ">
<option value="value"></option>

<?php
do {
?>
<option value="<?php echo $row_jugadores['Nombre']?>"><?php echo $row_jugadores['Nombre']?></option>

<?php
} while ($row_jugadores = mysql_fetch_assoc($jugadores));
$rowsa = mysql_num_rows($jugadores);
if($rowsa > 0) {
mysql_data_seek($jugadores, 0);
$row_jugadores = mysql_fetch_assoc($jugadores);
}
?>
</select>

<input name="dato1" type="text" id="caja">
<input name="dato2" type="text" id="caja2">

donde var dato=valor; es el nombre de un jugador que selecciono de una lista y lo utilizo en la consulta para seleccionar dicho jugador, obtener sus datos y cargarlos en las cajas (<input name="dato1" type="text" id="caja">). Dicha variable "dato", no se como pasarla a la consulta (WHERE Nombre = dato).
O en todo caso, en la llamada onChange="cargo_dato(this.value) ", ¿como paso un array con los valores de cada columna de la fila seleccionada de la tabla? y evito realizar la consulta nuevamente dentro de la función cargo_dato(this.value).


Muchas gracias
  #2 (permalink)  
Antiguo 27/05/2010, 09:16
Avatar de carmagedon  
Fecha de Ingreso: junio-2005
Ubicación: Argentina
Mensajes: 794
Antigüedad: 18 años, 10 meses
Puntos: 23
Respuesta: Como pasar una variable javascript a una consulta sql dentro de php

Hola, que tal?
No probaste con utilizar AJAX para realizar le petición al SQL y la respuesta? Lo convertís a XML y lo devolves en el JS con los childs.
__________________
Freelance - Aplicaciones Web
  #3 (permalink)  
Antiguo 27/05/2010, 09:43
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Como pasar una variable javascript a una consulta sql dentro de php

La funcion cargo_dato() al ejecutarse recuperaria (combinada con php) los datos de db.

Al seleccionar un elemento del select seria llamada, pero alli dentro te falta la consulta a la base de datos mysql_query() para que se llenen los options

En definitiva, de entrada, no se realizara ninguna consulta.

Ya que en el select al no cargarse no se podra seleccionar en el ningun elemento, por ende no podras pasarle ningun valor (this.value) a la funcion cargo_dato()


Espero haberte orientado un poco...
  #4 (permalink)  
Antiguo 27/05/2010, 12:56
 
Fecha de Ingreso: mayo-2010
Mensajes: 3
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Como pasar una variable javascript a una consulta sql dentro de php

Disculpen, quisiera seguir con este código: Si yo reemplazo, dato, por el nombre de un jugador de la sig. forma "SELECT * FROM jugadores WHERE Nombre = 'Juán y Juán'", por ej. funciona OK, incluso colocando un alert(valor) o alert(dato) veo el nombre del jugador seleccionado en el select.
Por lo tanto, lo que ma falta es convertir la variable dato de javascript a algo que lo entienda la consulta dentro del código PHP.

No soy programador se bastante de delphi o c y para ayudar a un club estaba realizando una página HTML común, cuando necesité algo dinámico opte por lo que estoy haciendo. El tema de usar AJAX y XML ya lo tocaré. paso a paso

Muchas gracias
s2



Gracias por su interes.
  #5 (permalink)  
Antiguo 27/05/2010, 17:41
Avatar de wiwi74  
Fecha de Ingreso: marzo-2008
Mensajes: 515
Antigüedad: 16 años, 1 mes
Puntos: 10
Respuesta: Como pasar una variable javascript a una consulta sql dentro de php

La consulta de arriba, la que esta dentro de la funcion, esta bien... Solo que debe ser llamada y se le debe pasar un valor... "dato"

El problema esta en el formulario de mas abajo:ç

//aqui recoprres a la variable $jugadores a que no le das valor en ningun lado, no existe, bah exixte pero sin valor
while ($row_jugadores = mysql_fetch_assoc($jugadores))

Te faltaria agregarle esto:

//aqui si $jugadores recive un valor (una consulta a db)
$jugadores=mysql_query(SELECT * FROM jugadores WHERE Nombre = 'Juán y Juán');
//y despues si la recorres con el while:
//ahora sí tu selec se llenara, para poder elegir un jugador y asi enviarle un valor
//a la funcion cargo_dato()
while ($row_jugadores = mysql_fetch_assoc($jugadores)){
echo $row_jugadores['campo_que_halla_en_jugadores'];
}

Verifica eso, que el select de abajo se llene con valores. Luego le podras pasar el valor a la funcion, como lo estas haciendo:
onChange="cargo_dato(this.value)

Porque, si no vi mal, ese select a ti te debe quedar vacio...

Verifica y nos cuentas...

Última edición por wiwi74; 28/05/2010 a las 08:58
  #6 (permalink)  
Antiguo 28/05/2010, 15:43
 
Fecha de Ingreso: mayo-2010
Mensajes: 3
Antigüedad: 13 años, 10 meses
Puntos: 0
Respuesta: Como pasar una variable javascript a una consulta sql dentro de php

Hola WIWI74, disculpa, esa parte del código no la había agregado

<?php
mysql_select_db($database_torneos, $torneos);
$query_jugadores = "SELECT * FROM jugadores ";
$jugadores = mysql_query($query_jugadores, $torneos) or die(mysql_error());
$row_jugadores = mysql_fetch_assoc($jugadores);
$totalRows_jugadores = mysql_num_rows($jugadores);
.
.

donde le doy un valor a $jugadores.


el problema es pasar la variable javascrip a PHP, conocía -nada- del funcionamiento de JS y PHP, estaba leyendo lo suficiente como para armar la página, hasta que me encontré con este problemita.

Lo que no encuentro es una explicación de como pasar una variable que se ejecuta en el navegador (JS) al servidor (PHP).


La otra forma que había pensado, es que la función que llamo cuando cambio la lista; onchange = "cargo_dato(fila_de_la_tabla)", me devuelva la fila completa de la tabla y no necesitaría mas realizar la consulta dentro de la función.

El problema es: como asocio fila_de_la_tabla con $row_jugadores. si es correcta mi lógica.

Muchas Gracias


s2

Etiquetas: javascript, pasar, sql, variables
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 13:09.