使用树结构导出类别

时间:2013-01-09 09:30:26

标签: php mysql phpmyadmin

使用ID和parent来存储类别树是很常见的。在我的例子中,知识库,在article表中,每个记录(文章)属于一个类别(带有字段catid),在categories表中,每个记录都有一个{{1} }和ID保存树结构。

parent

问题是将文章导出到csv或excel时,

article table
id | catid | date | subject | content

categories table
id | name | parent

如何保留整个类别树,就像一篇文章属于儿子类别一样,我想要像

这样的类别
id | category | date | subject | content

然后可以在Excel中打开csv,菜单 - >数据 - >将文本添加到列,按“:”分隔,您将获得整个树类别,而不仅仅是当前类别。

工作代码示例:

grandpa/father/son/, or grandpa : father : son

希望对其他想要导出树结构字段的人有所帮助。

3 个答案:

答案 0 :(得分:0)

您必须在查询数据库后解析结果:

$query = 'query code here';

$result = mysql_query($query); 

while( $row = mysql_fetch_array($result) ) {
  // do something with that row
}

此外,不推荐使用mysql_x函数。请改用PDOmysqli

答案 1 :(得分:0)

<?php

$conn = mysql_connect("localhost","YOUR DB USER NAME","YOUR DB PASSWORD");
if(!$conn) {
  die('Could not connect: ' . mysql_error());
}

mysql_select_db("YOUR DB NAME", $conn);

$result = mysql_query("YOUR QUERY HERE");

while($row = mysql_fetch_array($result)) {
  echo $row['ID'];
  -----
  -----
}

mysql_close($conn);

答案 2 :(得分:-1)

我假设,您希望在PHP中执行PHP代码,这是您在phpMyAdmin中设计的 - 它运行良好。最常见的问题是报价。 Learn about String quotes here

我看到您使用'来构建查询代码,但您也在查询中使用它。这肯定会产生一系列可怕的语法错误。您可以使用"构建查询代码,同时将其设置为变量。

如果什么都没有,可能SQL命令可能已执行,但结果为空。您可以使用var_dump()功能对此进行测试。还要检查是否已打开所有错误报告。 Learn about error reporting here

另外,我建议你检查并使用PDO class而不是mysql函数,这会给你带来很好的例外,你可以抓住并优雅地处理错误。 PDO  也会以某种方式保护您的代码。