Ver Mensaje Individual
  #11 (permalink)  
Antiguo 29/07/2013, 13:33
Avatar de yamsoft
yamsoft
 
Fecha de Ingreso: julio-2013
Ubicación: Maracaibo
Mensajes: 27
Antigüedad: 10 años, 10 meses
Puntos: 2
Respuesta: Consulta parametrizada.

Bien, como te decía anteriormente, con el método ajax() de jquery se puede lograr muy fácilmente...

La forma de pasar los parámetros y recibirlos en el php es pan comido, sin embargo no tengo suficiente información como para darte una ayuda exacta, pero espero que con estos ejemplos te puedas entender un poco la idea...

Por lo que he leido hasta ahora creo que tu forma de recoger los datos es de esta forma:

Código Javascript:
Ver original
  1. var selected = $("#criterio option:selected");

Supongamos que quieres enviar el valor de ese select al php para que genere una lista (estoy parafraseando). La forma de hacerlo por jquery.ajax() es la siguiente:

Código Javascript:
Ver original
  1. // Lo primero crear el stack de parametros que queremos enviar por ajax:
  2.  
  3.   var parametros = {
  4.         "campo_valor" : selected.val(),
  5.         "campo_texto" : selected.text()
  6.        };
  7.  
  8.   // Ya tenemos los parametros a enviar, ahora ejecutamos el ajax:
  9.  
  10.   $.ajax({
  11.        data:  parametros,  // Stack con los parámetros
  12.        url:   'archivo_receptor.php',  // Archivo que recibirá los parámetros y delvolverá el reponse
  13.        type:  'post',    // Tipo de envio get o post
  14.        beforeSend: function () {
  15.            $("#capaAjax").html("<div align='center'>Cargando...</div>");
  16.        },
  17.        success:  function (response) {
  18.              $("#capaAjax").html(response);
  19.         }
  20.    });

Creo que de por si la función es más que sencilla de entender y también sencilla de aplicar. Ahora ¿Cómo recibes esos datos en php? Sencillo:

Código PHP:
Ver original
  1. # archivo_receptor.php
  2.  
  3.   if(isset($_POST['campo_valor']))
  4.   {
  5.        $campo_valor        = $_POST['campo_valor'];
  6.        $campo_texto        = $_POST['campo_texto'];
  7.       /**
  8.        * ¿De donde he sacado esto?
  9.        * del stack 'parametros'  que enviamos por ajax...
  10.        */
  11.  
  12.        // Ya por ultimo para hacer el response, vasta con hacer un siemple echo:
  13.  
  14.      echo 'La opción seleccionada tiene value='. $campo_valor .' y texto='. $campo_texto;
  15.    }

Esto se mostrara en el HTML en un div con selector capaAjax

Código HTML:
Ver original
  1. <div id="capaAjax">
  2.         <!-- aquí se vera el response -->
  3.    </div>

Con esto seria todo... Espero haberte ayudado amigo...