使用数据库计算和显示条目

时间:2013-12-21 11:10:33

标签: php mysql sql for-loop while-loop

我有使用php和mysql显示条目的菜单。我想要做的是获得一份与服装相等的产品清单,例如鞋子等等。他们的4种主要类型,这个值无法改变。

所以:

$query = mysql_query("SELECT * FROM products WHERE type = 'Clothing'")or die(mysql_error());

而不是循环我只是重复这个过程4次。 在此之后,我想用products表显示每种类型服装的每个主要类别和子类别,以便它显示如下。

服装

主要类别1 (1)子1 (35)子2 (4)Sub 3

主要类别2 (1)子1 (35)子2 (4)Sub 3

主要类别1 (1)子1 (35)子2 (4)Sub 3

主要类别2 (1)子1 (35)子2 (4)Sub 3

等等 我在DB表单中获得了每个主要catogroy的列表,并在其中循环

$get_cats = mysql_query("SELECT * FROM main_cats")or die(mysql_error());
    //loop through each 
while($main_cat = mysql_fetch_assoc($get_cats)){
    //count main cat in products
    $check = mysql_real_escape_string($main_cat['cat']);
        $p_main_count =  mysql_query("SELECT * FROM products WHERE cats = '$check' ORDER BY cats")or die(mysql_error());
//this would get an array of each product that has that main category
} 

这看起来很好,但我想不出如何以我需要的格式显示数据。 产品表有3个主要栏目:

  1. 猫(主要类别)
  2. 子猫(包含多个子类别的字符串1,2,4)
  3. 是否有办法选择并分组每个主要类别,然后显示和计算每个主要类别的子类别。

1 个答案:

答案 0 :(得分:1)

W3Schools有一个非常好的教程,用于计算和显示MySql数据库条目。这是一个如何尝试在表格中显示数据的片段。

<?php
$con=mysqli_connect("example.com","peter","abc123","my_db");
// Check connection
if (mysqli_connect_errno())
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();
  }

$result = mysqli_query($con,"SELECT * FROM main_cats");

while($row = mysqli_fetch_array($result))
  {

  echo $row['type'] . " " . $row['cats'] . " " . $row['subcats'];
  echo "<br>";
  }
?> 

让我们说第1行有数据类型:1 Cats:2 SubCats:3
和第2行有数据类型:2猫:4 SubCats:6

这将输出这样的数据

1 2 3
2 4 6

您可以轻松使用HTML中的表格,使其看起来更好。

echo "<table border="1">";
while($row = mysqli_fetch_array($result))
  {

  echo "<tr><td>" . $row['type'] . "</td><td> " . $row['cats'] . "</td><td> " . $row['subcats'] . "</td>";
  echo "</tr>";
  }
echo "</table>";

这将以相同的顺序输出,但在表格中输出。

希望这会有所帮助。此外,如果你想要任何好的参考文献http://w3schools.com是一个非常好的网站。