doulangpeng3933 2017-12-19 03:12
浏览 50
已采纳

获取POST参数并将其发送到第二个PHP文件

I need to work with following PHP files:

leer_directorio_todos_filtrados.php

<?php
// required headers
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=UTF-8");

// include database and object files
include_once 'database.php';
include_once 'directorio_todo_filtrado.php';

// instantiate database and product object
$database = new Database();
$db = $database->getConnection();

// initialize object
$product = new Directorio($db);

// query products
$stmt = $product->read();
$num = $stmt->rowCount();

//here the POST request parameter
    $received = $_POST['valor']:


// check if more than 0 record found
if($num>0){

    // products array
    $products_arr=array();
   // $products_arr["records"]=array();

    // retrieve our table contents
    // fetch() is faster than fetchAll()
    // http://stackoverflow.com/questions/2770630/pdofetchall-vs-pdofetch-in-a-loop
    while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
        // extract row
        // this will make $row['name'] to
        // just $name only
        extract($row);

        $product_item=array(
            "id" => $id_directorio,
            "nombre" => $nombre,
            "apellidos" => $apellidos,
            "apodo" => $apodo,
            "cumple" => $cumple,
            "conyuge" => $conyuge,
            "cumple_conyuge" => $cumple_conyuge,
            "aniversario_bodas" => $aniversario_bodas,
            "empresa" => $empresa,
            "direccion_empresa" => $direccion_empresa,
            "tel_negeocio" => $tel_negocio,
            "fecha_ingreso" => $fecha_ingreso,
            "num_rotario" => $num_rotario,
            "padrino" => $padrino,
            "direccion_casa" => $direccion_casa,
            "tel_casa" => $tel_casa,
            "celular" => $celular,
            "email" => $email,
            "email_privado" => $email_privado,
            "clasificacion" => $clasificacion,
            "imagen" => $imagen
        );

        array_push($products_arr, $product_item);
    }

    echo json_encode($products_arr);
}

else{
    echo json_encode(
        array("message" => "No items found.")
    );
}
?>

and directorio_todo_filtrado.php:

<?php
class Directorio{

    // database connection and table name
    private $conn;
    private $table_name = "tb_directorio";

    // object properties
    public $id_directorio;
    public $nombre;
    public $apellidos;
    public $apodo;
    public $cumple;
    public $conyuge;
    public $cumple_conyuge;
    public $aniversario_bodas;
    public $empresa;
    public $direccion_empresa;
    public $tel_negocio;
    public $fecha_ingreso;
    public $num_rotario;
    public $padrino;
    public $direccion_casa;
    public $tel_casa;
    public $celular;
    public $email;
    public $email_privado;
    public $clasificacion;
    public $imagen;
    public $usuario_app;


    // constructor with $db as database connection
    public function __construct($db){
        $this->conn = $db;
    }

    function read(){

           // select all query
           $query = "SELECT
                       *
                   FROM
                       " . $this->table_name . " 
                     ORDER BY apellidos   ";

           // prepare query statement
           $stmt = $this->conn->prepare($query);

           // execute query
           $stmt->execute();

           return $stmt;
       }
}

I want to send a POST request to the first file, but then I don't know to pass the POST param as a variable to the second file in order to filter the SELECT query.

  • 写回答

1条回答 默认 最新

  • doudilin1225 2017-12-19 04:10
    关注

    You can pass the POST parameter to the read method of your Directorio object.

    leer_directorio_todos_filtrados.php

    <?php
    // required headers
    header("Access-Control-Allow-Origin: *");
    header("Content-Type: application/json; charset=UTF-8");
    
    // include database and object files
    include_once 'database.php';
    include_once 'directorio_todo_filtrado.php';
    
    // instantiate database and product object
    $database = new Database();
    $db = $database->getConnection();
    
    // initialize object
    $product = new Directorio($db);
    
    //here the POST request parameter
    $received = $_POST['valor']:
    
    // query products
    $stmt = $product->read($received);
    $num = $stmt->rowCount();
    
    // check if more than 0 record found
    if($num>0){
    
        // products array
        $products_arr=array();
       // $products_arr["records"]=array();
    
        // retrieve our table contents
        // fetch() is faster than fetchAll()
        // http://stackoverflow.com/questions/2770630/pdofetchall-vs-pdofetch-in-a-loop
        while ($row = $stmt->fetch(PDO::FETCH_ASSOC)){
            // extract row
            // this will make $row['name'] to
            // just $name only
            extract($row);
    
            $product_item=array(
                "id" => $id_directorio,
                "nombre" => $nombre,
                "apellidos" => $apellidos,
                "apodo" => $apodo,
                "cumple" => $cumple,
                "conyuge" => $conyuge,
                "cumple_conyuge" => $cumple_conyuge,
                "aniversario_bodas" => $aniversario_bodas,
                "empresa" => $empresa,
                "direccion_empresa" => $direccion_empresa,
                "tel_negeocio" => $tel_negocio,
                "fecha_ingreso" => $fecha_ingreso,
                "num_rotario" => $num_rotario,
                "padrino" => $padrino,
                "direccion_casa" => $direccion_casa,
                "tel_casa" => $tel_casa,
                "celular" => $celular,
                "email" => $email,
                "email_privado" => $email_privado,
                "clasificacion" => $clasificacion,
                "imagen" => $imagen
            );
    
            array_push($products_arr, $product_item);
        }
    
        echo json_encode($products_arr);
    }
    
    else{
        echo json_encode(
            array("message" => "No items found.")
        );
    }
    ?>
    

    and directorio_todo_filtrado.php:

    <?php
    class Directorio{
    
    // database connection and table name
    private $conn;
    private $table_name = "tb_directorio";
    
    // object properties
    public $id_directorio;
    public $nombre;
    public $apellidos;
    public $apodo;
    public $cumple;
    public $conyuge;
    public $cumple_conyuge;
    public $aniversario_bodas;
    public $empresa;
    public $direccion_empresa;
    public $tel_negocio;
    public $fecha_ingreso;
    public $num_rotario;
    public $padrino;
    public $direccion_casa;
    public $tel_casa;
    public $celular;
    public $email;
    public $email_privado;
    public $clasificacion;
    public $imagen;
    public $usuario_app;
    
    
    // constructor with $db as database connection
    public function __construct($db){
        $this->conn = $db;
    }
    
    function read($filter){
    
           // select all query
           $query = "SELECT
                       *
                   FROM
                       " . $this->table_name . " 
                     ORDER BY apellidos   ";
    
           // prepare query statement
           $stmt = $this->conn->prepare($query);
    
           // execute query
           $stmt->execute();
    
           return $stmt;
       }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 iqoo11 如何下载安装工程模式
  • ¥15 本题的答案是不是有问题
  • ¥15 关于#r语言#的问题:(svydesign)为什么在一个大的数据集中抽取了一个小数据集
  • ¥15 C++使用Gunplot
  • ¥15 这个电路是如何实现路灯控制器的,原理是什么,怎么求解灯亮起后熄灭的时间如图?
  • ¥15 matlab数字图像处理频率域滤波
  • ¥15 在abaqus做了二维正交切削模型,给刀具添加了超声振动条件后输出切削力为什么比普通切削增大这么多
  • ¥15 ELGamal和paillier计算效率谁快?
  • ¥15 蓝桥杯单片机第十三届第一场,整点继电器吸合,5s后断开出现了问题
  • ¥15 file converter 转换格式失败 报错 Error marking filters as finished,如何解决?