sql >> Database >  >> RDS >> Mysql

PHP MySQL-dialoogstroom

telkens wanneer de webhook wordt geactiveerd, moet u luisteren naar actions van JSON-reacties, van de action maakte de switch case van 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);
    }
}
?>

Dus wanneer de actie wordt gepakt, wordt deze uitgevoerd en gaat het in de getNews($param); functie hier krijg ik year als een reactie van de gebruiker in mijn geval en ik voer de query uit in de database en geef een reactie terug vanuit de database.




  1. Automatisch verhogen in orakel naar reeds gemaakte tabel

  2. TEKST/BLOB in dezelfde tabel opslaan of niet?

  3. Onderstrepingstekens of camelCase in PostgreSQL-ID's, wanneer de programmeertaal camelCase gebruikt?

  4. java.sql.SQLException:kan niet worden geconverteerd naar interne representatie:tijdens het doorgeven van ArrayList aan Oracle.sql.ARRAY