Foros del Web » Programando para Internet » Jquery »

pasar valor de variable php mediante ajax

Estas en el tema de pasar valor de variable php mediante ajax en el foro de Jquery en Foros del Web. Hola amigos a ver si me pueden ayudar con esto: Intento pasar el valor de una variable php mediante un script ajax que se encuentra ...
  #1 (permalink)  
Antiguo 09/07/2015, 12:54
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
pasar valor de variable php mediante ajax

Hola amigos a ver si me pueden ayudar con esto:

Intento pasar el valor de una variable php mediante un script ajax que se encuentra en una "pagina_1.php", para que dicho valor de variable llegue a una "pagina_2.php"

y alli la variable en cuestion forme parte de una consulta sql.

Pero no se como hacerlo, miren este es el codigo que tengo:

pagina 1.php

la variable cuyo valor hay que pasar se llama $selected


Código Javascript:
Ver original
  1. $.ajax({
  2.                     type: "POST",
  3.                     url: "data.php,
  4.                     data:data,
  5.                     success: function(res) {
  6.                         $("#tienda").append(res);
  7.                         console.log(res);
  8.                     }
  9.                 });


pagina 2.php llamada data.php


Código PHP:
Ver original
  1. $requested_page = $_POST['page_num'];
  2.         $set_limit = (($requested_page - 1) * 12) . ",12";
  3.        
  4.         $con = mysql_connect("localhost", "root", "");
  5.         mysql_select_db("bbdd_ejemplo");
  6.        
  7.        
  8.        $result = mysql_query("select * from $selected order by id asc limit $set_limit");


gracias de antemano.
  #2 (permalink)  
Antiguo 09/07/2015, 13:57
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: pasar valor de variable php mediante ajax

Podrías asignarla como valor de un campo oculto, así sería más fácil tomarlo y realizar el envío.

Posdata: Por favor, la próxima vez, publica tu tema en el foro que corresponde. Este es el de JavaScript y tú empleas el método $.ajax de jQuery, habiendo un foro para tratar temas en los que intervenga dicha librería.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 10/07/2015, 01:07
 
Fecha de Ingreso: febrero-2013
Mensajes: 115
Antigüedad: 11 años, 2 meses
Puntos: 5
Respuesta: pasar valor de variable php mediante ajax

Como estas usando Jquery puedes utilizar el metodo $.post ya que es mas facil de utilizar, a mi en particular el $.ajax me da muchos problemas al utilizarlo y hasta a veces me a servido un solo metodo $.ajax por documento .js... asi que nunca he logrado entenderlo del todo... pero puedes hacer lo sigioente:

Código Javascript:
Ver original
  1. $.post('data.php', {comosellamalavariablepost:elvalor}, function(data){
  2.              $("#tienda").append(data);
  3.                         console.log(data);
  4. });

ah cabe destacar que yo uso el data para la respuesta de la pagina a la que le estamos haciendo el envio... un placer ayudarte....
__________________
http://tutorialesdelweb.blogspot.com/TutorialesWeb(principiantes)
  #4 (permalink)  
Antiguo 10/07/2015, 04:59
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: pasar valor de variable php mediante ajax

El 'success' de AJAX interpreta un resultado que se devuelve de la consulta.
Haces la consulta, pero no devuelves ningun resultado.

Prueba a meter un return:

Código:
$result = mysql_query("select * from $selected order by id asc limit $set_limit");
return $result;
  #5 (permalink)  
Antiguo 10/07/2015, 11:48
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: pasar valor de variable php mediante ajax

ufff, ufff, a ver, a ver:

He hecho esto:

archivo 1:

Código PHP:
Ver original
  1. if (isset($_POST['enviar'])) {
  2.        
  3.         if (is_array($_POST['categoria'])) {
  4.        
  5.                 $selected = '';
  6.                 $num_categoria = count($_POST['categoria']);
  7.                 $current = 0;
  8.    
  9.                 foreach ($_POST['categoria'] as $key => $value) {
  10.                         $selected .= $value.'';
  11.                                                                
  12.                     $current++;
  13.        
  14.                 }
  15.             }                                          
  16.         }
  17.        
  18.         else
  19.        
  20.         {
  21.             $selected = 'tienda_novedades';
  22.                            
  23.         }


Código Javascript:
Ver original
  1. $.ajax({
  2.  
  3. $.post('data.php', {selected:<?php $value ?>}, function(data){
  4. $("#tienda").append(data);
  5. console.log(data);
  6.  
  7. });



archivo 2 llamado data.php

Código PHP:
Ver original
  1. $requested_page = $_POST['page_num'];
  2.         $set_limit = (($requested_page - 1) * 12) . ",12";
  3.        
  4.         $con = mysql_connect("localhost", "root", "");
  5.         mysql_select_db("bbdd");
  6.        
  7.        
  8.        $result = mysql_query("select * from $selected order by id asc limit $set_limit");


realmente en archivo 2 no pongo nada es simplemente lo que tengo en php.


Pero no funciona , sigue sin funcionar

helppppp

  #6 (permalink)  
Antiguo 10/07/2015, 11:57
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: pasar valor de variable php mediante ajax

Con poner <?php $value ?> no basta pues nunca imprimes a la variable. Te falta un echo, aunque esta es una de las formas menos elegantes de hacerlo.

Usa $.ajax o $.post pero no los dos a la vez. Si tienes dudas, consulta el manual.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #7 (permalink)  
Antiguo 10/07/2015, 12:05
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: pasar valor de variable php mediante ajax

He puesto esto:

Código Javascript:
Ver original
  1. $.ajax({
  2.    
  3.                     type: "POST",
  4.                     url: "data.php", {selected:<?php echo $value ?>},
  5.                     data:data,
  6.                     success: function(res) {
  7.                         $("#tienda").append(res);
  8.                         console.log(res);
  9.            
  10.                     }
  11.                 });


pero nada sigue sin ir , no lo entiendo.
  #8 (permalink)  
Antiguo 10/07/2015, 12:08
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: pasar valor de variable php mediante ajax

Insisto, tienes que leer el manual.

El objeto en el que imprimes la variable, debe de ir como valor de la propiedad data.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #9 (permalink)  
Antiguo 10/07/2015, 12:14
 
Fecha de Ingreso: julio-2015
Mensajes: 2
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: pasar valor de variable php mediante ajax

No usaria la palabra selected como nombre de variable ya que es una palabra reservada.
  #10 (permalink)  
Antiguo 10/07/2015, 12:21
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: pasar valor de variable php mediante ajax

gallina_05, la palabra selected no es parte del conjunto de palabras reservadas de JavaScript.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #11 (permalink)  
Antiguo 11/07/2015, 02:55
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: pasar valor de variable php mediante ajax

Alexis88, vamos a ver, según lo que me aconsejas:

"El objeto en el que imprimes la variable, debe de ir como valor de la propiedad data."

debería ser así, según creo haberte entendido:

Código Javascript:
Ver original
  1. $.ajax({
  2.    
  3.                     type: "POST",
  4.                     url: "data.php",
  5.                     data: <?php echo $selected; ?>,
  6.                     success: function(res) {
  7.                         $("#tienda").append(res);
  8.                         console.log(res);
  9.            
  10.                     }
  11.                 });


pero sigue sin ir.

y he pasado la variable php llamada $selected , como valor del "data"
  #12 (permalink)  
Antiguo 11/07/2015, 08:13
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: pasar valor de variable php mediante ajax

Pero yo te dije el objeto, no solo la impresión de la variable. El objeto empieza con la llave de apertura, contiene al atributo selected y su valor que es la variable de PHP que imprimes y termina con la llave de cierre. Todo eso es lo que debes de asignar a data.
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #13 (permalink)  
Antiguo 11/07/2015, 10:06
 
Fecha de Ingreso: septiembre-2003
Mensajes: 140
Antigüedad: 20 años, 7 meses
Puntos: 2
Respuesta: pasar valor de variable php mediante ajax

El compañero tiene razon, los datos se pasan:

Código Javascript:
Ver original
  1. data: {nombreVar1:valor1,nombreVar2:valor2,nombreVarn:valorn},

Luego el fichero PHP destino las recibe con

$_POST['nombreVar1']
$_POST['nombreVar2']
  #14 (permalink)  
Antiguo 12/07/2015, 09:46
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: pasar valor de variable php mediante ajax

Eureka!!!! por fin funciona, eso si he tenido que añadir una segunda variable proviniente esta vez del propio jquery, dicho de otro modo el codigo quedaria asi:

Código Javascript:
Ver original
  1. $.ajax({
  2.    
  3.                     type: "POST",
  4.                     url: "data.php",
  5.                     /*data:data,*/ 
  6.                     data: {selected:"<?php echo $selected; ?>", page_num:page},                                            
  7.                     success: function(res) {
  8.                         $("#tienda").append(res);
  9.                         console.log(res);
  10.            
  11.                     }
  12.                 });

Muchas gracias a:
monicapo, Alexis88, gallina_05 y horusorion por vuestro granito de arena

por haberme ayudado a conseguir entenderlo y que funcione.

Etiquetas: ajax, javascript, mediante, php, select, valor, variable
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 20:19.