sql >> データベース >  >> RDS >> Mysql

PHP MySQLDialogflow

    Webhookがトリガーされるたびに、actionsをリッスンする必要があります JSON応答から、actionから actionsのswitchケースを作成しました

    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. PHPによるまたはPHPを使用したMySQLGROUP?

    2. PostgresSQL /pgAdmin4/ダンプサーバーのバージョンの不一致

    3. SQL Server Management Studio-列の追加/移動にはドロップと再作成が必要ですか?

    4. Pythonを使用してデータベースにアクセスするときに、操作の途中で接続が閉じられました