0

您好,我正在学习,如果这是一个愚蠢的问题,我很抱歉。(也很抱歉我的英语不好)

我试图显示来自特定类别的项目。

在我的数据库中,我设置了这样的类别。

类别

像这样的产品或物品,

项目

我使用此代码来显示树类别。

function hasChild($parent_id)
  {
    $sql = "SELECT COUNT(*) as count FROM category WHERE parent_id = '" . $parent_id . "'";
    $qry = mysql_query($sql);
    $rs = mysql_fetch_array($qry);
    return $rs['count'];
  }

  function CategoryTree($list,$parent,$append)
  {
    $list = '<li>'.$parent['name'].'</li>';

    if (hasChild($parent['id'])) // check if the id has a child
    {
      $append++;
      $list .= "<ul class='child child".$append."'>";
      $sql = "SELECT * FROM category WHERE parent_id = '" . $parent['id'] . "'";
      $qry = mysql_query($sql);
      $child = mysql_fetch_array($qry);
      do{
        $list .= CategoryTree($list,$child,$append);
      }while($child = mysql_fetch_array($qry));
      $list .= "</ul>";
    }
    return $list;
  }
  function CategoryList()
  {
    $list = "";

    $sql = "SELECT * FROM category WHERE (parent_id = 0 OR parent_id IS NULL)";
    $qry = mysql_query($sql);
    $parent = mysql_fetch_array($qry);
    $mainlist = "<ul class='parent'>";
    do{
      $mainlist .= CategoryTree($list,$parent,$append = 0);
    }while($parent = mysql_fetch_array($qry));
    $list .= "</ul>";
    return $mainlist;
  }

但是我找不到转换链接中类别的好方法,所以每次用户点击一个类别时,我都会显示该类别的项目..

什么是最好的。

如果您能指出我正确的方向,那么一些教程或其他东西会非常非常棒。

4

2 回答 2

1

听起来您正在寻找某种 java 树查看器,例如这个示例? http://dftree.sourceforge.net/dftree/example.html

有几个开源选项(我没有上面列出的那个的经验,我只是用它作为例子)。我确定我过去使用过一个树查看器,它采用了您正在使用的列表格式 - 我建议您在 sourceforge 周围进行搜索。

你的问题并不愚蠢,但很长......我们中的许多人都很懒惰:-)

于 2013-05-08T08:19:08.850 回答
0

好的,我解决了这个

这是带有菜单和类别的页面的代码

<?php



  function hasChild($parent_id)
  {
    $sql = "SELECT COUNT(*) as count FROM category WHERE parent_id = '" . $parent_id . "'";
    $qry = mysql_query($sql);
    $rs = mysql_fetch_array($qry);
    return $rs['count'];
  }

  function CategoryTree($list,$parent,$append)
  {
      $productpage = "index.php"; 

    $list = '<li><a href='.$productpage.'?'.'cat='.$parent['id'].'>'.$parent['name'].'</a></li>';

    if (hasChild($parent['id'])) // check if the id has a child
    {
      $append++;
      $list .= "<ul class='child child".$append."'>";
      $sql = "SELECT * FROM category WHERE parent_id = '" . $parent['id'] . "'";
      $qry = mysql_query($sql);
      $child = mysql_fetch_array($qry);
      do{
        $list .= CategoryTree($list,$child,$append);
      }while($child = mysql_fetch_array($qry));
      $list .= "</ul>";
    }
    return $list;
  }
  function CategoryList()
  {
    $list = "";

    $sql = "SELECT * FROM category WHERE (parent_id = 0 OR parent_id IS NULL)";
    $qry = mysql_query($sql);
    $parent = mysql_fetch_array($qry);
    $mainlist = "<ul class='parent'>";
    do{
      $mainlist .= CategoryTree($list,$parent,$append = 0);
    }while($parent = mysql_fetch_array($qry));
    $list .= "</ul>";
    return $mainlist;
  }
?>

以及产品页面的代码

<?php 

$producto = mysql_escape_string($_GET['producto']);

$tablename = "productos";


$res = mysql_query("SELECT * FROM `$tablename` WHERE `id` = '$producto'");

                    $row = mysql_fetch_assoc($res);

                     $uid = $row["id"]; 
    $titulo = $row["titulo"];  
    $descripcion = $row["descripcion"];  
    $modelo = $row["modelo"];  
    $img = $row["img"];  
    // echo the output to browser or compound an output variables here 
    echo "ID = $uid 
    <br />Titulo = $titulo
    <br>Descripcion = $descripcion 
    <br>Modelo = $modelo
    <br>Imagen = <img src=\"../admin/$img\" width=\"40px\" height=\"40px\" >
    <hr />"; 


?>
于 2013-05-09T04:21:45.193 回答