Ver Mensaje Individual
  #8 (permalink)  
Antiguo 28/07/2013, 19:11
Avatar de AJDM
AJDM
 
Fecha de Ingreso: febrero-2013
Ubicación: Occidente
Mensajes: 69
Antigüedad: 11 años, 2 meses
Puntos: 1
Pregunta Respuesta: Consulta parametrizada.

Cita:
Iniciado por yamsoft Ver Mensaje
Con ajax le puedes pasar los parametros a php:

Código Javascript:
Ver original
  1. function defcriterio()
  2.     {
  3.         var selected = $("#criterio option:selected");     
  4.         var msg = "";
  5.         if(selected.val() != 0)
  6.         {
  7.             var variable = selected.val();
  8.             switch (variable)
  9.             {
  10.                 case "1":
  11.                    
  12.                                              // ejemplo:
  13.                                                var parametros = {
  14.                                         "bus_por" : selected.val(),
  15.                                         "bus_texto" : selected.text()
  16.                                           };
  17.                                                  
  18.                                                   $.ajax({
  19.                                      data:  parametros,
  20.                                      url:   'ajax/tu_archivo.php',
  21.                                      type:  'post',
  22.                                      beforeSend: function () {
  23.                             $("#capaAjax").html("<div align='center'>Cargando...</div>");
  24.                     },
  25.                     success:  function (response) {
  26.                             $("#capaAjax").html(response);
  27.                     }
  28.             });
  29.  
  30.                     break;
  31.                 case "2":
  32.                     msg = "La busqueda sera por " + selected.text();
  33.                     break;
  34.                 case "3":
  35.                     msg = "La busqueda sera por " + selected.text();
  36.                     break;
  37.                 case "4":
  38.                     msg = "La busqueda sera por " + selected.text();
  39.                     break;
  40.                 case "5":
  41.                     msg = "La busqueda sera por " + selected.text();
  42.                     break;             
  43.             }
  44.         }
  45.     else
  46.         {
  47.         msg = "El valor seleccionado no es valido";
  48.         }
  49.         $("#msg").html(msg);
  50.     }

Para recibir esos datos desde php:

Código PHP:
Ver original
  1. extract($_POST);
  2.  
  3.     echo $bus_por . ' ' . $bus_texto;

Ojo: En el HTML debes crear un div con el selector capaAjax en donde se mostrará el resultado del procesamiento :)

Saludos!
Saludos YAMSOF;

Muy interesante tu propuesta; de hecho la voy a aplicar sin embargo se me ha presentado un inconveniente que no se como resolver.

Te explico, en la siguiente función, ya logro identificar cual es el criterio seleccionado y activo o desactivo la lista correspondiente, sin embargo cuando llamo al PHP para que me cargue los datos de los paises estos no se cargan en el select aun cuando el firebog no me genera ningun error; lo único que veo es un error de HTTP que me indica 302 Moved Temporarily. Sabes porque ese error y como lo resuelvo?
Este es el código:
Código:
function defcriterio()
	{
		var selected = $("#criterio option:selected");		
		var msg = "";
		if(selected.val() != 0)
		{
			var variable = selected.val();
			switch (variable)
			{ 
				case "1":
					$jMaQma("#country").attr("disabled",true);
					$jMaQma("#state").attr("disabled",true);
					$jMaQma("#city").attr("disabled",true);
					$jMaQma("#rubro").attr("disabled",true);
					$jMaQma("#searchfor").attr("disabled",false);
					break;
				case "2":
					$jMaQma("#country").attr("disabled",false);
					$jMaQma("#state").attr("disabled",true);
					$jMaQma("#city").attr("disabled",true);
					$jMaQma("#rubro").attr("disabled",true);
					$jMaQma("#searchfor").attr("disabled",true);
					cargar_paises();
					break;
La función cargar_paises es:
Código:
function cargar_paises()
	{
	$jMaQma.get("administrator/components/com_maqmahelpdesk/html/scripts/cargar_paises.php", function(resultado){
		if(resultado == false)
		{
			alert("Error");
		}
		else
		{
			$jMaQma('#country').append(resultado);			
		}
	});	
	}
Desde ya mil gracias, resolviendo esto solo me va a quedar armar el PHP que hace el query y mostrarlo.
__________________
La humildad y la disposición a compartir es lo que nos hace cada vez mejores.