/*!40100 SET CHARACTER SET latin1*/;
DROP TABLE IF EXISTS `categories`;
#
# Table structure for table 'categories'
#
CREATE TABLE `categories` (
`catID` tinyint(4) unsigned NOT NULL auto_increment,
`catName` varchar(255) default NULL,
`parent` tinyint(4) unsigned default NULL,
PRIMARY KEY (`catID`),
UNIQUE KEY `idCategories` (`catID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
#
# Dumping data for table 'categories'
#
/*!40000 ALTER TABLE `categories` DISABLE KEYS*/;
LOCK TABLES `categories` WRITE;
INSERT INTO `categories` (`catID`, `catName`, `parent`) VALUES (1,'Knjizevnost',0),
(2,'Prirodne nauke',0),
(3,'Drustvene nauke',0),
(4,'Opsta grupa',0),
(5,'Geografija',2),
(6,'Popularna nauka',2),
(7,'Strucna literatura',2),
(8,'Domaca Knjizevnost',1),
(9,'Strana knjizevnost',1),
(10,'Romani',8),
(11,'Romans',9),
(12,'Poezija',8),
(13,'Poezija',9);
UNLOCK TABLES;
/*!40000 ALTER TABLE `categories` ENABLE KEYS*/;
Metode iz klase Kategorije:
function checkChildSelect($catID){
global $smarty, $conn;
$prefix=">";
$sql = "select * from categories where parent =$catID and parent !='0'";
$result = $conn->Execute($sql);
while ($row=$result->FetchRow()) {
$id = $row['catID'];
$child .= "<option value='".$row['catID']."'> ".$prefix.$row['catName']."</i>";
$child .= Kategorije::checkChildSelect($id);
}
$child .= '</option>';
return $child;
}
function populateCatSelect($catID="0"){
global $smarty, $conn;
$sql = "select * from categories where parent =0 order by catID" ;
$result = $conn->Execute($sql);
while ($row=$result->FetchRow()) {
$catID = $row['catID'];
foreach (array($catID) as $catID) {
$kat .= "<option value='".$row['catID']."'>+".$row['catName']."</b>";
$kat .= Kategorije::checkChildSelect($catID);
$kat .= '</option>';
}
}
return $kat;
}
Stavljao sam i nbsp i >> i sve sam probao ali ne uspevam da izlistam u select boxu pravilno po kategorijama.
Da li bi neko imao vremena da pogleda moj kod i da mi pomogne da resim problem?
Eto i konkretnog problema, i mog koda, pa valjda sam ispunio sve uslove za help? :) Nije da nisam probao sam da resim, al' neide. Probelm se pojavi kada se izlista podkategorija podkategorije. Dobijem ovakav prikaz:
+Knjizevnost
>>Domaca knjizevnost
>>>>ROmani
>>>>Poezija
>>Strana Knjizevnost
>>>>Romani
>>>>Poezija
+Prirodne Nauke
>>>>Geografija
>>>>Popularna nauka
>>>>Strucna literatura
E ovde ovo crveno je greska, jer to nije Sub Subkategorija nego je samo prva podkategorija od Prirodne nauke.
Eto ja unapred zahvaljujem onome ko je voljan da pomogne, i zahvaljujem ujedno i svim onima koji su pokusali pomoci do sada.
V
[Ovu poruku je menjao vladimirn dana 29.11.2007. u 12:25 GMT+1]