Броене на продукти в дадена категория

_4efo_

Registered
Здравейте,
ако имам следната база


ID | name | cat | price | info

1 | Продукт 1 | Кола |1000лв. | ...
2 | Продукт 2 | Яхта |2000лв. | ...
3 | Продукт 3 | Кола |1500лв. | ...
4 | Продукт 4 | колело|100лв. | ...


Как ще ми изглежда кога за да ми покаже ?


Кола (2)
Колело (1)
Яхта (1)

:)
Благодаря предварително!
 
<?php
$cat = mysql_query("SELECT * FROM `tablicata`");
while($row = mysql_fetch_array($cat)){
$our = mysql_query("SELECT count(`id`) as total FROM `tablicata s produktite` WHERE cat=$row[id]");
while($raw=mysql_fetch_array($our)){
$total=$raw['total'];
}
echo '<a href="cat.php?id='.$row['id'].'">'.$row['name'].'('.$total.')</a></li><hr />';
}
?>
 
baso каза:
<?php
$cat = mysql_query("SELECT * FROM `tablicata`");
while($row = mysql_fetch_array($cat)){
$our = mysql_query("SELECT count(`id`) as total FROM `tablicata s produktite` WHERE cat=$row[id]");
while($raw=mysql_fetch_array($our)){
$total=$raw['total'];
}
echo '<a href="cat.php?id='.$row['id'].'">'.$row['name'].'('.$total.')</a></li><hr />';
}
?>


Благодаря за кода, но нещо ми дава само (0) значи бъркам някъде в завката... Едната ми база е с категориите, а другата с продуктите
и в първата завка отивам до базата с категориите, нали :?



Код:
          <?php


include("connect.php");




$cat = mysql_query("SELECT * FROM `category`");
while($row = mysql_fetch_array($cat)){
$our = mysql_query("SELECT count(`cat`) as total FROM `products` WHERE cat=$row[id]");
while($raw=mysql_fetch_array($our)){
$total=$raw['total'];
}








echo"
					<td >($total)</td>
					<td><a href='category.php?cat=$row[type]'>$row[type]</a></td>
					<td><a href='category.php?brand=$row[type]' title='go'>go</a></td>
				
				</tr>


";


}
 
?>


в category ми е ID | CAT
в products са ми ID | NAME | CAT
 
И сега като съпоставиш двата си поста, намираш ли разлика?
Разгледай този урок, принципа е същия.
 
Replace каза:
И сега като съпоставиш двата си поста, намираш ли разлика?
Разгледай този урок, принципа е същия.
Мислих, че ще хвана аугоритъна... аз исакм само да изкарам коя категория с колко продукта е пълна :?
 
<?php
include("connect.php");
$cat = mysql_query("SELECT * FROM `category`");
while($row = mysql_fetch_array($cat)){
$our = mysql_query("SELECT count(`id`) as total FROM `products` WHERE `cat`=$row[id]");
while($raw=mysql_fetch_array($our)){
$total=$raw['total'];
}
echo"
<td >($total)</td>
<td><a href='category.php?cat=$row[type]'>$row[type]</a></td>
<td><a href='category.php?brand=$row[type]' title='go'>go</a></td>
</tr>
";
}
?>
 
_4efo_, четенето не вреди. В урокът съм написал как става, но все пак ще ти дам и готов код.

<?php
$connect = mysql_connect("Хост", "Потребител", "парола")
or die("Не може да свърже с базата данни);
mysql_select_db("Базата дани", $connect)
or die("Не може да селектира базата данни");
$result = mysql_query("SELECT c.cat, count(p.id) as counts FROM category as c LEFT OUTER JOIN products as p ON c.cat = p.cat GROUP BY c.id")
or die("Не може да изпълни заявката");
while($row = mysql_fetch_array($result)) {
echo $row['cat']. "(".$row['counts'].")";
}
?>

Този код ще работи ако структурата на таблиците ти е:

category
id|cat

products
id|cat|....|

Хубаво е в полето cat на products да записваш номер на категорията, а не името, но ти си знаеш.
 

Back
Горе