Holas tengo una consulta necesito generar un XML de la siguiente forma
<categorias>
<categoria>
<subcategoria/>
<subcategoria/>
<subcategoria/>
.
.
.
</categoria>
<categoria>
<subcategoria/>
<subcategoria/>
<subcategoria/>
.
.
.
</categoria>
</categorias>
Mi base de datos es:
SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for categorias
-- ----------------------------
CREATE TABLE `categorias` (
`idcat` int(11) NOT NULL auto_increment,
`category` varchar(100) collate latin1_general_cs NOT NULL,
`active` int(1) NOT NULL,
`date` datetime NOT NULL,
`subcat` int(1) NOT NULL,
`cat` int(5) NOT NULL,
PRIMARY KEY (`idcat`)
) ENGINE=MyISAM AUTO_INCREMENT=48 DEFAULT CHARSET=latin1 COLLATE=latin1_general_cs DELAY_KEY_WRITE=1;
-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `categorias` VALUES ('1', 'CATEGORIA1', '1', '2007-01-05 12:52:17', '0', '0');
INSERT INTO `categorias` VALUES ('2', 'CATEGORIA2', '1', '2007-01-05 12:52:17', '0', '0');
INSERT INTO `categorias` VALUES ('3', 'CATEGORIA3', '1', '2007-01-05 12:52:17', '0', '0');
INSERT INTO `categorias` VALUES ('37', 'CAT1_SUBCATEGORIA1', '1', '2007-01-19 10:19:28', '1', '1');
INSERT INTO `categorias` VALUES ('38', 'CAT1_SUBCATEGORIA2', '1', '2007-01-19 10:20:42', '1', '1');
INSERT INTO `categorias` VALUES ('39', 'CAT1_SUBCATEGORIA3', '1', '2007-01-19 10:21:10', '1', '1);
INSERT INTO `categorias` VALUES ('44', 'CAT2_SUBCATEGORIA1', '1', '2007-01-19 11:48:18', '1', '2');
INSERT INTO `categorias` VALUES ('45', 'CAT2_SUBCATEGORIA2', '1', '2007-01-19 11:48:40', '1', '2');
INSERT INTO `categorias` VALUES ('46', 'CAT2_SUBCATEGORIA3', '1', '2007-01-19 11:48:55', '1', '2);
INSERT INTO `categorias` VALUES ('47', 'CAT3_SUBCATEGORIA1', '1', '2007-01-19 11:49:11', '1', '3');
Bueno soy novato en esto asi que hago mis consultas con dreamweaver
este es el php:
<?php require_once('Connections/cat.php');
require("functions.php");
header("Content-Type: text/xml");
mysql_select_db($database_pcl, $pcl);
$query_categorias ="SELECT * FROM categorias WHERE active = 1 AND subcat = 0 ORDER BY idcat ASC";
$categorias = mysql_query($query_categorias, $cat) or die(mysql_error());
$row_categorias = mysql_fetch_assoc($categorias);
$totalRows_categorias = mysql_num_rows($categorias);
$date = explode(" ", $row_categorias['date']);
echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n";
echo "<categorias>\n";
do{
echo "<categoria idcat=\"".$row_categorias['idcat']."\" category='".utf8_encode(ucfirst($row_categorias['category']))."' date=\"".utf8_encode($date[0])."\">\n";
//aqui tengo que poner las subcategorias de cada uno, aqui me quedé
//echo '<subcategoria name="Nombre de la subcategoria..." />';
echo "</categoria>\n";
} while ($row_categorias = mysql_fetch_assoc($categorias));
echo "</categorias>";
mysql_free_result($categorias);
?>
Ojalá alguien pueda ayudar a este aprendiz a resolver este problema. Muchas Gracias.