Ejemplo n.º 1
0
}
function getSubsubcategorias($categoria, $subcategoria)
{
    $consultaSubsubcategorias = mysql_query("SELECT * FROM subsubcategorias WHERE categoria='{$categoria}' AND subcategoria='{$subcategoria}'");
    $xml = "";
    while ($filaSubsubcategoria = mysql_fetch_array($consultaSubsubcategorias)) {
        $xml .= '<subsubcategoria nombre="' . $filaSubsubcategoria['nombre'] . '" pos="' . $filaSubsubcategoria['posicion'] . '">';
        $xml .= '</subsubcategoria>';
    }
    mysql_free_result($consultaSubsubcategorias);
    return $xml;
}
function creacionXmlMenu()
{
    $consultaCategorias = mysql_query("SELECT * FROM categorias");
    $xml = '<?xml version="1.0"?>';
    $xml .= '<menu>';
    while ($filaCategoria = mysql_fetch_array($consultaCategorias)) {
        $xml .= '<categoria nombre="' . $filaCategoria['nombre'] . '" pos="' . $filaCategoria['posicion'] . '">';
        //$xml .= getSubcategorias($filaCategoria['posicion']);
        $xml .= '</categoria>';
    }
    mysql_free_result($consultaCategorias);
    $xml .= '</menu>';
    return $xml;
}
// se genera el nuevo menú en formato XML
$menu = creacionXmlMenu();
echo $menu;
// se incluye el archivo que cierra la conexión con la base de datos
include "includes/db_desconectar.php";
// resuelve el problema de obtención de caracteres erróneos para ciertas letras
function caracteresErroneos($cadena)
{
    $correcto = preg_replace('/ú/', 'u', $cadena);
    $correcto = preg_replace('/ñ/', 'ñ', $cadena);
    $correcto = preg_replace('/ó/', 'o', $cadena);
    $correcto = preg_replace('/é/', 'e', $cadena);
    return $correcto;
}
function creacionXmlMenu($categoria, $subcategoria)
{
    $consultaCategorias = mysql_query("SELECT * FROM categorias");
    $xml = '<?xml version="1.0"?>';
    $xml .= '<menu>';
    $consultaSubsubcategorias = mysql_query("SELECT * FROM subsubcategorias WHERE categoria='{$categoria}' AND subcategoria='{$subcategoria}'");
    while ($filaSubsubcategoria = mysql_fetch_array($consultaSubsubcategorias)) {
        $nombre = caracteresErroneos($filaSubsubcategoria['nombre']);
        $xml .= '<subsubcategoria nombre="' . $nombre . '" pos="' . $filaSubsubcategoria['posicion'] . '">';
        $xml .= '</subsubcategoria>';
    }
    mysql_free_result($consultaSubsubcategorias);
    $xml .= '</menu>';
    return $xml;
}
$cat = $_GET['cat'];
$subcat = $_GET['subcat'];
// se genera el nuevo menú en formato XML
$menu = creacionXmlMenu($cat, $subcat);
echo $menu;
// se incluye el archivo que cierra la conexión con la base de datos
include "includes/db_desconectar.php";