Reconocimiento de voz para consultar una base de datos - archivo clientes.php

En la sub carpeta 'reconocimento' almacenamos también el archivo 'clientes.php' que tiene por objetivo analizar preguntas puntuales sobre datos de clientes.

clientes.php
<?php
//******************************Consultas sobre clientes */
function consultasSobreClientes()
{
    global $palabras;
    if (strpos($_GET['oracion'], "mail de") !== false ) {
        $nombres = '';
        for ($inicio = 2; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        mailDe(trim($nombres));
    }
    if (strpos($_GET['oracion'], "telefono de") !== false ) {
        $nombres = '';
        for ($inicio = 2; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        telefonoDe(trim($nombres));
    }    
    if (strpos($_GET['oracion'], "direccion de") !== false ) {
        $nombres = '';
        for ($inicio = 2; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        direccionDe(trim($nombres));
    }    
    if (strpos($_GET['oracion'], "todos los datos de") !== false ) {
        $nombres = '';
        for ($inicio = 4; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        todosLosDatosDe(trim($nombres));
    }    
}

function mailDe($persona)
{
    $conexion = retornarConexion();
    $datos = mysqli_query($conexion, "
    select nombre,
           mail
          from clientes
          where nombre='$persona'
          ");
    $resultado = mysqli_fetch_all($datos, MYSQLI_ASSOC);
    echo json_encode($resultado);
    exit(0);
}

function telefonoDe($persona)
{
    $conexion = retornarConexion();
    $datos = mysqli_query($conexion, "
    select nombre,
           telefono
          from clientes
          where nombre='$persona'
          ");
    $resultado = mysqli_fetch_all($datos, MYSQLI_ASSOC);
    echo json_encode($resultado);
    exit(0);
}

function direccionDe($persona)
{
    $conexion = retornarConexion();
    $datos = mysqli_query($conexion, "
    select nombre,
           direccion
          from clientes
          where nombre='$persona'
          ");
    $resultado = mysqli_fetch_all($datos, MYSQLI_ASSOC);
    echo json_encode($resultado);
    exit(0);
}

function todosLosDatosDe($persona)
{
    $conexion = retornarConexion();
    $datos = mysqli_query($conexion, "
    select nombre,
           telefono,
           mail,
           direccion
          from clientes
          where nombre='$persona'
          ");
    $resultado = mysqli_fetch_all($datos, MYSQLI_ASSOC);
    echo json_encode($resultado);
    exit(0);
}
?>

De forma similar al archivo 'facturas.php' hemos organizado una función que analiza distintas preguntas factibles de los datos de clientes:

function consultasSobreClientes()
{
    global $palabras;
    if (strpos($_GET['oracion'], "mail de") !== false ) {
        $nombres = '';
        for ($inicio = 2; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        mailDe(trim($nombres));
    }
    if (strpos($_GET['oracion'], "telefono de") !== false ) {
        $nombres = '';
        for ($inicio = 2; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        telefonoDe(trim($nombres));
    }    
    if (strpos($_GET['oracion'], "direccion de") !== false ) {
        $nombres = '';
        for ($inicio = 2; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        direccionDe(trim($nombres));
    }    
    if (strpos($_GET['oracion'], "todos los datos de") !== false ) {
        $nombres = '';
        for ($inicio = 4; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        todosLosDatosDe(trim($nombres));
    }    
}

Si ingresamos en la oración la subcadena 'mail de':

    if (strpos($_GET['oracion'], "mail de") !== false ) {
        $nombres = '';
        for ($inicio = 2; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        mailDe(trim($nombres));
    }

Luego obtenemos una salida con el siguiente formato:

reconocimineto de voz

Dicho resultado se genera a partir del comando SQL:

function mailDe($persona)
{
    $conexion = retornarConexion();
    $datos = mysqli_query($conexion, "
    select nombre,
           mail
          from clientes
          where nombre='$persona'
          ");
    $resultado = mysqli_fetch_all($datos, MYSQLI_ASSOC);
    echo json_encode($resultado);
    exit(0);
}

Si ingresamos en la oración la subcadena 'todos los datos de':

    if (strpos($_GET['oracion'], "todos los datos de") !== false ) {
        $nombres = '';
        for ($inicio = 4; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        todosLosDatosDe(trim($nombres));
    }    

Luego obtenemos una salida con el siguiente formato:

reconocimineto de voz

Dicho resultado se genera a partir del comando SQL:

function todosLosDatosDe($persona)
{
    $conexion = retornarConexion();
    $datos = mysqli_query($conexion, "
    select nombre,
           telefono,
           mail,
           direccion
          from clientes
          where nombre='$persona'
          ");
    $resultado = mysqli_fetch_all($datos, MYSQLI_ASSOC);
    echo json_encode($resultado);
    exit(0);
}

También podemos preguntar los datos específicos del 'telefono de' y 'direccion de':

    if (strpos($_GET['oracion'], "telefono de") !== false ) {
        $nombres = '';
        for ($inicio = 2; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        telefonoDe(trim($nombres));
    }    
    if (strpos($_GET['oracion'], "direccion de") !== false ) {
        $nombres = '';
        for ($inicio = 2; $inicio < count($palabras); $inicio++) {
            $nombres .= $palabras[$inicio] . " ";
        }
        direccionDe(trim($nombres));
    }    

Dichos resultados se obtienen mediante los comandos SQL:

function telefonoDe($persona)
{
    $conexion = retornarConexion();
    $datos = mysqli_query($conexion, "
    select nombre,
           telefono
          from clientes
          where nombre='$persona'
          ");
    $resultado = mysqli_fetch_all($datos, MYSQLI_ASSOC);
    echo json_encode($resultado);
    exit(0);
}

function direccionDe($persona)
{
    $conexion = retornarConexion();
    $datos = mysqli_query($conexion, "
    select nombre,
           direccion
          from clientes
          where nombre='$persona'
          ");
    $resultado = mysqli_fetch_all($datos, MYSQLI_ASSOC);
    echo json_encode($resultado);
    exit(0);
}