Mysql
 sql >> база данни >  >> RDS >> Mysql

PHP MySQL Dialogflow

всеки път, когато webhook се задейства, трябва да слушате actions от JSON отговори, от action направи смяна на случай на 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);
    }
}
?>

Така че, когато действието бъде уловено, то ще бъде изпълнено и ще влезе в getNews($param); функция тук получавам year като отговор от потребителя в моя случай и аз изпълнявам заявката в базата данни и връщам отговор от базата данни.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. executemany за MySQLdb грешка за голям брой редове

  2. Груповите резултати в подгрупи

  3. Нулева препратка от модула на драйвера на MySQL от taskpane.js добавка на Microsoft Office

  4. Полезен PHP клас база данни

  5. Производителност на MySQL:Въведение в JOIN в SQL