Foros del Web » Programando para Internet » Javascript » Frameworks JS »

variables ajax

Estas en el tema de variables ajax en el foro de Frameworks JS en Foros del Web. Buenas tardes: No se como resolver elproblema de varibales globales con xajax. Tengo la siguiente función, pero en la condicion WHERE id_rest='$row_resultado[id]' no me reconoce ...
  #1 (permalink)  
Antiguo 09/04/2009, 13:34
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 10 meses
Puntos: 0
variables ajax

Buenas tardes:

No se como resolver elproblema de varibales globales con xajax.

Tengo la siguiente función, pero en la condicion WHERE id_rest='$row_resultado[id]' no me reconoce esta variable que viene de un select php fuera de la función.
¿Sabeis como meter esta variable en la funcion?
Gracias y un saludo


Código PHP:
function validar_telefono(){ 
 
$hostname_remota ""
$database_remota ""
$username_remota ""
$password_remota ""

$remota mysql_pconnect($hostname_remota$username_remota$password_remota) or trigger_error(mysql_error(),E_USER_ERROR);  
mysql_select_db($database_remota$remota); 
$update "UPDATE contador_clicks SET entradas_tel=entradas_tel + 1,total_tel=total_tel + 1  WHERE id_rest='$row_resultado[id]'";

    
mysql_query($update$remota) or die (mysql_error());
$respuesta = new xajaxResponse();      
          

$xajax->register(XAJAX_FUNCTION,"validar_telefono"); 
$xajax->processRequest(); 
  #2 (permalink)  
Antiguo 09/04/2009, 13:43
Avatar de eall  
Fecha de Ingreso: noviembre-2008
Ubicación: Concepcion
Mensajes: 127
Antigüedad: 16 años, 1 mes
Puntos: 8
Respuesta: variables ajax

eurodoblon, nunca he logrado hacer que xajax tome una variable que venga de fuera de la función, lo que hago es incluir un archivo con las variables necesarias. lo otro que podrías hacer es una funión que ejecute el codigo que requieres y le pasas la variable por referencia para que lo puedas manipular a gana.

Código php:
Ver original
  1. function obtResultados(&$row_resultado){
  2.  
  3. /*
  4.     Aquí tu consulta
  5. */
  6. $row_resultado = mysql_fetch_array();
  7.  
  8. }
  9.  
  10.  
  11. function validar_telefono(){
  12.  $hostname_remota = "";
  13. $database_remota = "";
  14. $username_remota = "";
  15. $password_remota = "";
  16. obtResultados($row_resultado);
  17. $remota = mysql_pconnect($hostname_remota, $username_remota, $password_remota) or trigger_error(mysql_error(),E_USER_ERROR);  
  18. mysql_select_db($database_remota, $remota);
  19. $update = "UPDATE contador_clicks SET entradas_tel=entradas_tel + 1,total_tel=total_tel + 1  WHERE id_rest='$row_resultado[id]'";
  20.  
  21.     mysql_query($update, $remota) or die (mysql_error());
  22. $respuesta = new xajaxResponse();      
  23.          
  24. }

espero que te ayude.

Adios

Última edición por eall; 09/04/2009 a las 13:44 Razón: error de redacción
  #3 (permalink)  
Antiguo 09/04/2009, 14:55
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: variables ajax

gracias eall.

Pero no me funciona porque al hacer la consulta en la nueva función necesito tambien una variable externa, recibia por GET (WHERE id = $_GET[id]) y entonces estamos en las mismas.

Me puede explicar un poco lo de incluir el archivo con varialbes necesarias.
Gracias

Código PHP:
function obtResultados($row_resultado){ 

mysql_select_db($database_remota$remota);
$query_resultado "SELECT * FROM restaurantes WHERE id = '$_GET[id]'";
$resultado mysql_query($query_resultado$remota) or die(mysql_error());
$row_resultado mysql_fetch_assoc($resultado);
$totalRows_resultado mysql_num_rows($resultado);

  #4 (permalink)  
Antiguo 09/04/2009, 16:02
Avatar de eall  
Fecha de Ingreso: noviembre-2008
Ubicación: Concepcion
Mensajes: 127
Antigüedad: 16 años, 1 mes
Puntos: 8
De acuerdo Respuesta: variables ajax

parece que estamo hablando otro idioma ya que no existe el GET.

lo que puedes hacer es llamar a la función xajax con el ID que quieres filtrar y así ya no habría problemas.

Código html:
Ver original
  1. <input type="button" name="boton" onclick="xajax_validar_telefono(document.form.textbox.value)" />

Código php:
Ver original
  1. function obtResultados(&$row_resultado, $id){
  2.   mysql_select_db($database_remota, $remota);
  3.   $query_resultado = "SELECT * FROM restaurantes WHERE id = '$id'";
  4.   $resultado = mysql_query($query_resultado, $remota) or die(mysql_error());
  5.   $row_resultado = mysql_fetch_assoc($resultado);
  6.   $totalRows_resultado = mysql_num_rows($resultado);
  7. }  
  8.  
  9. function validar_telefono($id){
  10.  $hostname_remota = "";
  11. $database_remota = "";
  12. $username_remota = "";
  13. $password_remota = "";
  14. obtResultados($row_resultado, $id);
  15. $remota = mysql_pconnect($hostname_remota, $username_remota, $password_remota) or trigger_error(mysql_error(),E_USER_ERROR);  
  16. mysql_select_db($database_remota, $remota);
  17. $update = "UPDATE contador_clicks SET entradas_tel=entradas_tel + 1,total_tel=total_tel + 1  WHERE id_rest='$row_resultado[id]'";
  18.  
  19.     mysql_query($update, $remota) or die (mysql_error());
  20. $respuesta = new xajaxResponse();      
  21.          
  22. }


lo del archivo de variables es para manejar variables que tienes que utilizar en varios archivos, como rutas, constantes, parametros de conexion, etc. los guardas en un archivo parametros.php, por decir algo, y luego los incluyes en cada función que los necesites.

eso.

Última edición por eall; 09/04/2009 a las 16:08 Razón: error de compilación ;)
  #5 (permalink)  
Antiguo 09/04/2009, 17:38
 
Fecha de Ingreso: enero-2008
Mensajes: 303
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: variables ajax

Gracias eal:

Tu sugerencia funciona, pero te dejo otra que he probado y muy sencilla.

Declaramos dentro de una funcion todas las variables externas que quieras

Código PHP:
global $mivariable$otra$otramas
Y ya las tienes dentro.


Gracias y un saludo
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 17:19.