witam ...
to jest copy and paste z php ...
SELECT DISTINCTROW t1. *, t2.pr_verify_date, COUNT( t2.pr_name ) AS num
FROM categories AS t1 LEFT JOIN products AS t2 USING ( cat_id )
WHERE t1.cat_idl > '.round($_GET['id'],10)*.' AND t1.cat_id < '.($_GET['id']+(10/pow(100,$_GET['level'])))**.'
GROUP BY t1.cat_id
dla takich tabel:
#
# Struktura tabeli dla `categories`
#
CREATE TABLE `categories` (
`cat_id` decimal(11,10) NOT NULL DEFAULT '0.0000000000',
`group_id` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`cat_name` char(20) NOT NULL DEFAULT '',
PRIMARY KEY (`cat_id`)
) TYPE=MyISAM AUTO_INCREMENT=129 ;
# --------------------------------------------------------
#
# Struktura tabeli dla `products`
#
CREATE TABLE `products` (
`pr_id` smallint(5) UNSIGNED NOT NULL AUTO_INCREMENT,
`group_id` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`cat_id` decimal(11,10) NOT NULL DEFAULT '0.0000000000',
`pr_name` char(50) NOT NULL DEFAULT '',
`pr_prize` decimal(10,2) NOT NULL DEFAULT '0.00',
`pr_add_by` smallint(5) UNSIGNED NOT NULL DEFAULT '0',
`pr_verify_by` smallint(5) UNSIGNED DEFAULT NULL,
`pr_add_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
`pr_verify_date` datetime DEFAULT NULL,
`pr_amount` smallint(5) UNSIGNED NOT NULL DEFAULT '1',
PRIMARY KEY (`pr_id`)
) TYPE=MyISAM AUTO_INCREMENT=1425 ;
i teraz male wyjasnienia:
* - id przesylany po url pozwala na wyswietlanie tylko podrzednych kategorii .. czyli jak klikniemy to strona sie odswieza i tym samym zapytaniem wyciagamy tylko kategorie podrzedne
** - level jest przesylany po url i pomaga [mozna to wyliczac przez sql - chyba - ale tak jest szybciej ... sluzy do tego co wyzej ... ograniczania wyswietlanych kategorii ...
wyliczany jest przez:
<?php
$level = strpos($array['cat_id'],'00')/2; //glebokosc danej kategorii ?>
wyswietlanie zrobione jest w 1 przebiegu petli przez taki wiersz:
<?php
$return .= '<h'.$level***.'><a href='core.php?mode=offer&action=list_prod&id='.$array['cat_level'].'&level='.$level.''> '.$array['cat_name'].' </a> ['.$array['num'].'] </h'.$level.><br>
?>
*** - dzieki level'owi nie trzeba dawac zadnych ifow/switchow ... zamiast h mozna dac class, id, array [indeks odpowiada nazwie - mainCat, 1stSubCat i inne] kolejna oszczednosc ...

Cytat
no ok spoko sposob orson tylko po co ta liczba przed przecinkiem (kropka)

bo jakby nie bylo to to musialby byc string ... a tak jest liczba

jak sa jeszcze jakies pytania/problemy to piszcie ...
ps. to jest z projektu testowego ... nie chce mi sie szukac finala [ mam gdzies na cd wypalone] wiec kod moze nie dzialac i nie jestem pewien czy w finalu czegos nie zmienilem ale ten kod po wzgledem ogolnym jest dobry ... w finalu pewnie tylko kosmetyka ...
pozdrawiam