Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Pasar variable mediante Ajax a un archivo PHP (https://www.clubdelphi.com/foros/showthread.php?t=92152)

el-mono 10-08-2017 02:31:22

Pasar variable mediante Ajax a un archivo PHP
 
Buenas noches queridos compañeros!

Estoy terminando un pequeño sistema donde lleno un DataTable mediante una consulta que levanto de un archivo Listar.php (mas abajo pego el código) el cual es llamado mediante Ajax (el código que esta debajo) mediante método POST. Hasta aquí muestra correctamente la consulta, mi problema es que necesito enviarle a Listar.php una variable para poder filtrar la consulta.

Alguno sabe como podría hacer para pasarle esa variable.

variable que necesito pasar: $filtro = "(1,2,3)";
Código:

var Listar = function(){
      $("#cuadro2").slideUp("slow");
      $("#cuadro1").slideDown("slow");
      var table = $("#grilla").dataTable({
            "ajax":{
            "method":"POST",
            "url":"listar.php"
              },
              "columns":[
                  {"data":"NOMBRE"},
                  {"data":"CLAVE"},
                  {"data":"PATOLOGIAS"},
                  {"data":"NOTAS"},
                  {"data":"TELEFONO"},
                  {"data":"ENFERMEDAD"},
                  {"defaultContent":"<button type='button' class='editar btn btn-primary'><i class='fa fa-pencil-square-o'></i></button>        <button type='button' class='eliminar btn btn-danger' data-toggle='modal' data-target='#modalEliminar' ><i class='fa fa-trash-o'></i></button>"}
                ]



Listar.php

Código PHP:

<?php
  
include ("conexion.php");
 
  
$query "select p.nombre, p.clave, pe.nombre as Patologias, po.Notas,p.telefono, po.enfermedad from pacientes_odonto po
left join pacientes p on po.paciente = p.clave
left join pacientes_enfermedades pe on po.enfermedad = pe.id  order by nombre asc;"
;
 
    
$resultado ibase_query($conexion$query);
 
    if (!
$resultado){
    echo 
"No existen registros en la base de datos.";
    }else {
 
             while (
$data ibase_fetch_assoc($resultado)) {
                   
$arreglo["data"][] = array_map("utf8_encode"$data);
           }
        echo 
json_encode($arreglo);
     }
ibase_free_result($resultado);
ibase_close($conexion);
 
?>


dec 10-08-2017 16:34:56

Hola,

No queda muy claro (por lo menos para mí) de dónde sale el método "dataTable" que estás usando, puesto que parece que debería ser ahí donde se diese la opción de enviar la variable como quieres vía "POST". Sin embargo, una posible solución podría ser usar la URL que usas ahora y pasar la variable vía GET, en lugar de POST. Esto es, escribir algo parecido a esto:

Código:

"url": "listar.php?my_variable=my_valor"
... el "script" "Listar.php" recibiría en este caso la variable "my_variable" con el valor "my_valor".

el-mono 10-08-2017 21:11:18

Hola Dec gracias por responde, Datatable es una Api para mostrar los datos sobre una grilla.

Al final funciono enviando la variable por Url y tomándolo desde Listar.php con $_GET

dec 10-08-2017 22:23:00

Hola,

Cita:

Empezado por el-mono (Mensaje 520172)
Hola Dec gracias por responde, Datatable es una Api para mostrar los datos sobre una grilla.

Al final funciono enviando la variable por Url y tomándolo desde Listar.php con $_GET

En mi opinión esto último es una opción perfectamente válida. En todo caso, debería ser el API en cuestión quien ofreciese la posibilidad de enviar "otras variables" en la petición "POST" que realiza para "rellenar" la "grilla". Tal vez pueda revisar la documentación en busca de algo así, si encuentra algún inconveniente en enviar la variable mediante la propia URL de la petición HTTP.


La franja horaria es GMT +2. Ahora son las 12:45:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi