El último archivo que nos falta analizar es el de 'productos.php' y tiene por objetivo responder a preguntas sobre la tabla MySQL de productos.
productos.php
<?php
//******************************Consultas sobre productos */
function consultasSobreProductos()
{
global $palabras;
if (strpos($_GET['oracion'], "producto numero") !== false ) {
$numero = $palabras[count($palabras) - 1];
articuloNumero($numero);
exit();
}
if (strpos($_GET['oracion'], "precios de") !== false || strpos($_GET['oracion'], "precio de") !== false) {
$categoria = '';
for ($inicio = 2; $inicio < count($palabras); $inicio++) {
$categoria .= $palabras[$inicio] . " ";
}
preciosDe(trim($categoria));
exit();
}
}
function articuloNumero($numero)
{
$conexion = retornarConexion();
$datos = mysqli_query($conexion, "
select codigo,descripcion,precio
from productos
where codigo=$numero
");
$resultado = mysqli_fetch_all($datos, MYSQLI_ASSOC);
echo json_encode($resultado);
}
function preciosDe($categoria)
{
$conexion = retornarConexion();
$datos = mysqli_query($conexion, "
select pro.descripcion as nombre,
precio
from productos as pro
inner join categorias as cate on cate.codigo=pro.codigocategoria
where cate.descripcion='$categoria'
");
$resultado = mysqli_fetch_all($datos, MYSQLI_ASSOC);
echo json_encode($resultado);
}
?>
Podemos consultar un producto por su número:

El resultado se logra mediante la ejecución del comando SQL siguiente:
function articuloNumero($numero)
{
$conexion = retornarConexion();
$datos = mysqli_query($conexion, "
select codigo,descripcion,precio
from productos
where codigo=$numero
");
$resultado = mysqli_fetch_all($datos, MYSQLI_ASSOC);
echo json_encode($resultado);
}
También podemos consultar todos los productos de una determinada categoría:

Como vemos debemos capturar las distintas consultas que puede hacer un usuario y generar los comandos SQL que respondan a los mismos.