显示类别PHP和回显类别的项目作为每个视图的链接

时间:2013-05-08 05:01:08

标签: php mysql sql

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

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

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

Categories

和这样的产品或项目,

items

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

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;
  }

但是我找不到转换链接类别的好方法,所以每次用户clic一个类别我将显示该类别的项目..

最好的是什么。

如果你可以指出我正确的方向,一些教程或其他东西,真的非常非常棒。

2 个答案:

答案 0 :(得分:1)

听起来你正在寻找某种类型的Java树查看器,就像这个例子一样? http://dftree.sourceforge.net/dftree/example.html

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

你的问题不是愚蠢,但是很长......而且我们很多人都很懒: - )

答案 1 :(得分: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 />"; 


?>