Foros del Web » Programando para Internet » PHP »

Duda con PHP+Ajax+Mysql

Estas en el tema de Duda con PHP+Ajax+Mysql en el foro de PHP en Foros del Web. Hola! buenas tardes... Tengo una duda con algo que quiero hacer, lo cuál no he podido resolver aún viendo varios tutoriales :/ En una base ...
  #1 (permalink)  
Antiguo 01/04/2013, 13:55
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años, 6 meses
Puntos: 27
Duda con PHP+Ajax+Mysql

Hola! buenas tardes...

Tengo una duda con algo que quiero hacer, lo cuál no he podido resolver aún viendo varios tutoriales :/

En una base de datos tengo almacenados en una tabla los datos de diferentes tiendas (id, nombre, titulo, mapa)

Entonces, con PHP muestro estas tiendas en una página:

Tienda1
Tienda2
Tienda3
...

Del lado izquierdo de las tiendas, quiero que salga el mapa obtenido de Google Maps, de cada una de las tiendas, pero esto, una vez que se le de un click al nombre de la tienda, por ejemplo, le doy click a Tienda1 y aparece su mapa.

Para esto, convertí en botones los nombres de las tiendas.

Código PHP:
Ver original
  1. <ul>
  2.     <?php while($rowSelectStores = mysql_fetch_array($sqlSelectStores)) { ?>
  3.         <li class="titulo-store">
  4.             <input type="button" name="stores" class="stores" onClick="realizaProceso(); return false;" value="<?php echo $rowSelectStores['stores_tienda']; ?>" >
  5.             <br />
  6.             <span class="subtitulo-store"><?php echo $rowSelectStores['stores_titulo']; ?></span>
  7.         </li>
  8.     <?php } ?>
  9. </ul>

y por medio de Ajax trato de obtener la información, esto porque no quiero que se me refresque la página

Código Javascript:
Ver original
  1. function realizaProceso(){
  2.    
  3.         var parametros = $(":button").val();
  4.         $.ajax({
  5.                 data:  parametros,
  6.                 url:   '../bd/stores-ajax.php',
  7.                 type:  'post',
  8.                 beforeSend: function () {
  9.                         $("#mapa").html("Procesando, espere por favor...");
  10.                 },
  11.                 success:  function (response) {
  12.                         $("#mapa").html(response);
  13.                 }
  14.         });
  15. }

Traté de asignarle el valor del botón a la función realizaProceso(), pero siempre me devuelve el primer valor (Tienda1, lo comprobé con un alert).

y, por último, cuando llega al archivo PHP donde se encuentra la consulta, no realiza nada.

Código PHP:
$stores $_POST['stores'];
    
$sqlSelectStoresAx mysql_query("Select * from ds_stores Where stores_tienda = $stores");

$rowSelectMapa mysql_fetch_array($sqlSelectStoresAx);    
echo 
$rowSelectMapa['stores_mapa']; 
Se debería mostrar el mapa en un div que tengo de la siguiente manera:

Código HTML:
<div id="mapa"></div> 
No sé mucho de ajax, y es la primera vez que intento hacerlo de esta manera, ¿alguien sabe que error estoy cometiendo?

De antemano gracias por sus comentarios.
  #2 (permalink)  
Antiguo 01/04/2013, 13:59
 
Fecha de Ingreso: abril-2008
Ubicación: El Salvador
Mensajes: 736
Antigüedad: 16 años, 7 meses
Puntos: 47
Respuesta: Duda con PHP+Ajax+Mysql

mira si lo haces mediante una funcion debes pasarle el id o nombre de la tienda como argumento a la funcion y luego ese parametro lo envias al php con ajax
  #3 (permalink)  
Antiguo 01/04/2013, 14:03
Avatar de Lynxcraft  
Fecha de Ingreso: noviembre-2007
Ubicación: yecla murcia
Mensajes: 1.346
Antigüedad: 17 años
Puntos: 51
Respuesta: Duda con PHP+Ajax+Mysql

a simple vista


Código:
function realizaProceso(){
    
        var parametros = $(":button").val();
		var data = {stores:parametros};

        $.ajax({
                data:  data,
                url:   '../bd/stores-ajax.php',
                type:  'post',
                beforeSend: function () {
                        $("#mapa").html("Procesando, espere por favor...");
                },
                success:  function (response) {
                        $("#mapa").html(response);
                }
        });
}
__________________
Sobran las ideas cuando faltan ganas de trabajar en ellas
Lynxcraft
  #4 (permalink)  
Antiguo 01/04/2013, 14:07
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años, 6 meses
Puntos: 27
Respuesta: Duda con PHP+Ajax+Mysql

El problema es el siguiente, no le puedo asignar un id conocido porque el número de tiendas va a crecer a futuro, regularmente yo hago lo siguiente:

<input type="button" name="tienda1" id="tienda1" value="tienda1">

donde name, id y value vienen de la base de datos, así siempre son distintos a los otros botones.

Entonces, cuando armo el archivo de ajax o PHP... ¿cómo le asigno el id, si este no lo conozco? Sé que debe haber una forma, pero francamente no sé cuál es.

Saludos!
  #5 (permalink)  
Antiguo 01/04/2013, 14:08
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años, 6 meses
Puntos: 27
Respuesta: Duda con PHP+Ajax+Mysql

Lo de var data = .... no lo había tomado en cuenta. Voy a verificarlo.
  #6 (permalink)  
Antiguo 01/04/2013, 16:02
Avatar de Middrel  
Fecha de Ingreso: abril-2005
Mensajes: 835
Antigüedad: 19 años, 6 meses
Puntos: 27
Respuesta: Duda con PHP+Ajax+Mysql

Hice algunas correcciones... bueno sólo agregué lo que comentó Lynxcraft.

Además incluí un alert($(":button").val()) y me doy cuenta que sólo trae el primer valor (Tienda1).

Independientemente de la tienda que seleccione siempre arroja el valor de la tienda 1.

Por ello, cuando hace la consulta en la base de datos, siempre trae el mapa de la tienda 1.

Alguna idea del porque de esto :/

Saludos!!

Etiquetas: html, mysql, select, sql, tabla
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 22:15.