Hallo,
ich hab da ein Problemm mit array()s, ich möchte mir im meinem Script zur auswahl von Kategorien ein Select menu mit den kategorien anzeigen lassen, das Anzeige Format ist:
/index
/index/allgemein/
/index/allgemein/webdesign
/index/PHP
/Index/PHP/Scripte usw
das funktioniert auch soweit bis auf die tatsache wenn ich die kategorien umverteile entweder die kategorie ohne namen also ein leerer Eintrag erscheint, oder einfach der vorherige eintrag doppelt vohanden ist. ich hab schon alles probiert und finde keine lössung, kann mir da mal jemand helfen. hier die functionen zum erstellen des Select Menus:
und hier ist der SQL Dump
wie gesagt die anzeige funktioniert, nur halt nach einer umstellung der kategorien nicht.
ich hab da ein Problemm mit array()s, ich möchte mir im meinem Script zur auswahl von Kategorien ein Select menu mit den kategorien anzeigen lassen, das Anzeige Format ist:
/index
/index/allgemein/
/index/allgemein/webdesign
/index/PHP
/Index/PHP/Scripte usw
das funktioniert auch soweit bis auf die tatsache wenn ich die kategorien umverteile entweder die kategorie ohne namen also ein leerer Eintrag erscheint, oder einfach der vorherige eintrag doppelt vohanden ist. ich hab schon alles probiert und finde keine lössung, kann mir da mal jemand helfen. hier die functionen zum erstellen des Select Menus:
PHP-Code:
function selectgroup($subid=0) {
global $db, $n;
// abfrage der einträge aufsteigent von 0 bis...
$group = $db->query("SELECT * FROM dp".$n."_newsgroup WHERE visible=1 ORDER BY 'group' ASC");
$subgroup = "<select name=\"group\">";
$i=1;
$grouparray[0][0] = "/Index"; // angezeigte beschreibung
$grouparray[0][1] = 0; //Kategorie ID
//ab hier werden die auswahl felder erstellt.
while ($row = $db->fetch_array($group)) {
$grouparray[$i][0] = getcat($row,$grouparray);
$grouparray[$i][1] = $row['groupid'];
$i++;
}
usort($grouparray, 'sortCatArray');
foreach($grouparray as $phat) {
if ($row['groupid'] == $phat[1]) $subgroup .= "<option value=\"$phat[1]\" selected>$phat[0]</option>\n";
else $subgroup .= "<option value=\"$phat[1]\">$phat[0]</option>\n";
}
$subgroup .= "</select>";
return $subgroup;
}
// hier werden die Unterkategorien zusammen gefügt
function getcat($row,$grouparray){
$l = $row['group'];
if(isset($row['group'])) {
if(isset($grouparray[$l][1]) && $grouparray[$l][1] == $l) {
$addgroup = $grouparray[$l][0];
$title .= $addgroup."/".$row[title];
}
} else {
$title = "/Index/".$row['title'];
}
return $title;
}
hier werden die kompletten Kategorien sortiert
function sortCatArray($a, $b) {
return strcmp($a[0], $b[0]);
}
PHP-Code:
CREATE TABLE `dp1_newsgroup` (
`groupid` int(11) unsigned NOT NULL auto_increment,
`group` int(11) default '0',
`title` varchar(250) collate latin1_general_ci NOT NULL default '',
`description` text collate latin1_general_ci NOT NULL,
`images` varchar(255) collate latin1_general_ci NOT NULL default '',
`keywords` text collate latin1_general_ci NOT NULL,
`countnews` int(11) unsigned NOT NULL default '1',
`visible` tinyint(1) NOT NULL default '0',
PRIMARY KEY (`groupid`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 COLLATE=latin1_general_ci AUTO_INCREMENT=7 ;
--
-- Daten für Tabelle `dp1_newsgroup`
--
INSERT INTO `dp1_newsgroup` VALUES (1, 0, 'Allgemein', 'Allgemeine News und Offtopic', '', '', 0, 1);
INSERT INTO `dp1_newsgroup` VALUES (2, 0, 'PHP', 'News rund um PHP', '', '', 0, 1);
INSERT INTO `dp1_newsgroup` VALUES (3, 2, 'Scripte', 'Neu erschienene PHP Scripte die man sich ansehen sollte.', '', '', 0, 1);
INSERT INTO `dp1_newsgroup` VALUES (4, 0, 'hp-scripte.de', 'Neues über unsere Projekte', '', '', 1, 1);
INSERT INTO `dp1_newsgroup` VALUES (5, 1, 'DPE', 'Hier finden Sie die aktuellen News zum DynamicPortal', '', '', 1, 1);
INSERT INTO `dp1_newsgroup` VALUES (6, 0, 'MySQL', 'News rund um MySQL', '', '', 0, 1);
Kommentar