sql >> Databasteknik >  >> RDS >> Mysql

PHP MySQL Dialogflow

Närhelst webhook utlöses måste du lyssna på actions från JSON-svar, från action gjorde omkopplingsfallet till actions

index.php

<?php
require 'get_enews.php';

function processMessage($input) {
    $action = $input["result"]["action"];
    switch($action){

        case 'getNews':
            $param = $input["result"]["parameters"]["number"];
            getNews($param);
            break;

        default :
            sendMessage(array(
                "source" => "RMC",
                "speech" => "I am not able to understand. what do you want ?",
                "displayText" => "I am not able to understand. what do you want ?",
                "contextOut" => array()
            ));
    }
}
function sendMessage($parameters) {
    header('Content-Type: application/json');
    $data = str_replace('\/','/',json_encode($parameters));
    echo $data;
}
$input = json_decode(file_get_contents('php://input'), true);
if (isset($input["result"]["action"])) {
    processMessage($input);
}
?>

get_enews.php

<?php
function getNews($param){
    require 'config.php';
    $getNews="";
    $Query="SELECT link FROM public.news WHERE year='$param'";
    $Result=pg_query($con,$Query);
    if(isset($Result) && !empty($Result) && pg_num_rows($Result) > 0){
    $row=pg_fetch_assoc($Result);
    $getNews= "Here is details that you require - Link: " . $row["link"];
        $arr=array(
            "source" => "RMC",
            "speech" => $getNews,
            "displayText" => $getNews,
        );
        sendMessage($arr);
    }else{
        $arr=array(
            "source" => "RMC",
            "speech" => "No year matched in database.",
            "displayText" => "No year matched in database.",
        );
        sendMessage($arr);
    }
}
?>

Så när åtgärden fångas kommer den att exekveras och går i getNews($param); funktion här får jag year som ett svar från användaren i mitt fall och jag kör frågan i databasen och ger tillbaka ett svar från databasen.




  1. START TRANSACTION inuti BEGIN ... END kontext eller utanför och LOOP-syntax

  2. Använda främmande nycklar för att ersätta kontrollbegränsning

  3. Åtkomst nekad för användaren "[e-postskyddad]" (med lösenord:NEJ)

  4. CSV-kopia till Postgres med array av anpassad typ med JDBC