Richtige Kategorie vorauswählen?

Revolutionary Act
Hallo zusammen,

Ich schreibe an etwas und brauche mal eure Hilfe.
Und zwar hab ich hier einen "Eintrag Editor" im folgenden:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
//Bearbeiten
if ($site == "edit")
{
$edit = $db->query_first("SELECT * FROM bb".$n."_downloads_stuff WHERE id = '$id'");
$titel = $edit[titel];
$beschreibung = $edit[beschreibung];
$download = $edit[download];
$kategorie_id = $edit[kategorie_id];
$id = $edit[id];

$parent_kategorien = $db->query("SELECT * FROM bb".$n."_downloads_kategorien WHERE parent_id = '0'");
while($row=$db->fetch_array($parent_kategorien)) {
$kategorie_name = $row[kategorie_name];
$idp = $row[id];

$list_kat_sub = "";
$sub_kategorien = $db->query("SELECT * FROM bb".$n."_downloads_kategorien WHERE parent_id = '$idp'");
while($row=$db->fetch_array($sub_kategorien)) {
$subkategorie_name = $row[kategorie_name];
$ids = $row[id];
eval ("\$list_kat_sub .= \"".$tpl->get("main_add_sub")."\";");
}
eval ("\$list_kat .= \"".$tpl->get("main_add_kat")."\";");
}

eval ("\$edit = \"".$tpl->get("main_edit")."\";");
}


An sich funktioniert das auch super und wie ich will, dieser Teil gibt mir alle Informationen aus
der Datenbank aus. Danach kann ich sie bearbeiten und dann eben speichern.

Das Problem ist, das System arbeitet mit Kategorien und das auf zwei ebenen.
Hauptkategorien, und Subkategorien. Diese werden in dem Script oben ausgelesen.
Sprich es gibt aus welche Kategorien in der Datenbank vorhanden sind. Dessen IDs und Namen.
Es erstellt dann eine Dropdown Auswahlliste im Template(s).

Kann mir jemand erklären bzw. den Code oben anpassen wie ich die Kategorie in der der Eintrag
derzeit liegt automatisch "selecten" kann?
Die Kategorie wird mit der Variable $kategorie_id abgefragt.

Ich komme hier leider nicht weiter, keine Ahnung. Hoffe ihr habt mehr!
Revolutionary Act
Ich habs jetzt temporär mal so gelöst das es nen Fehler gibt wenn das Feld nicht ausgefüllt wird
damit vermieden wird das man beim editieren den Upload versehentlich in eine andere Kategorie verschiebt...

Ist jetzt zwar nicht die eleganteste Lösung da man quasi bei jedem Editieren die Kategorie
wieder auswählen muss aber anders bekomm ich es leider nicht hin.
Wäre cool wenn jemand eine Idee hat, wenn nicht aber auch nicht so schlimm...
Wenn nicht lass ich es halt einfach so. Augenzwinkern

Jetzt noch zu einem anderen Problem.

Für die Einzelnen Kategorien möchte ich gerne eine Blätterfunktion haben, da es bei einer gewissen Anzahl an Einträgen natürlich unübersichtlich wird. Mein Code sieht so aus:

code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
//Kategorie Ansicht
if ($site == "kategorie")
{
$kategorie = $db->query("SELECT * FROM bb".$n."_downloads_stuff WHERE kategorie_id = '$id' ORDER BY id DESC");
while($row=$db->fetch_array($kategorie)) {
$download_titel = $row[titel];
$download_id = $row[id];
$beschreibung = $parse->doparse($row[beschreibung], $allowsmilies, $allowhtml, $allowbbcode, $parseimg);
eval ("\$download_liste_bit .= \"".$tpl->get("main_download_liste_bit")."\";");
}
$result = $db->query("SELECT * FROM bb".$n."_downloads_stuff WHERE kategorie_id = '$id'");
$janein = $db->num_rows($result);
if ($janein == "0")
{
eval ("\$download_liste_bit .= \"".$tpl->get("main_error1")."\";");
}
eval ("\$download_liste .= \"".$tpl->get("main_download_liste")."\";");
}


Kann mir da jemand helfen eine möglichst einfache Blätterfunktion einzubauen?
Da hab ich leider gerade auch überhaupt keine Idee...
Revolutionary Act
Schade das mir niemand helfen wollte. unglücklich
Habe die Blätterfunktion mittlererweile alleine hinbekommen. Habe mich hierbei an der thread.php orientiert... Augenzwinkern

Hier nun der Code mit Blätterfunktion:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
//Kategorie Ansicht
if ($site == "kategorie")
{
$jc = $db->query_first("SELECT kategorie_name FROM bb".$n."_downloads_kategorien WHERE id = '$id'");
$me = $jc[kategorie_name];

$result = $db->query_first("SELECT COUNT(*) FROM bb".$n."_downloads_stuff WHERE kategorie_id = '$id'");
$postcount = $result[0];

 if(isset($_GET['page'])) {
  $page=intval($_GET['page']);
  if($page==0) $page=1;
 }
 else $page=1;
 
$pages = ceil($postcount/$perpage);
if($pages>1) $pagelink=makepagelink("main.php?site=kategorie&id=$id&sid=$session[hash]",$page,$pages,$showpagelinks-1);
if($pages>1)
{
eval ("\$page_bit = \"".$tpl->get("main_pages")."\";");
}

 $result = $db->query("SELECT * FROM bb".$n."_downloads_stuff WHERE kategorie_id = '$id' ORDER BY id DESC LIMIT ".($perpage*($page-1)).",".$perpage);
 while($row=$db->fetch_array($result))
 {
$download_titel = $row[titel];
$download_id = $row[id];
$beschreibung = $parse->doparse($row[beschreibung], $allowsmilies, $allowhtml, $allowbbcode, $parseimg);
eval ("\$download_liste_bit .= \"".$tpl->get("main_download_liste_bit")."\";");
 }
 
$result2 = $db->query("SELECT * FROM bb".$n."_downloads_stuff WHERE kategorie_id = '$id'");
$janein = $db->num_rows($result2);
if ($janein == "0")
{
eval ("\$download_liste_bit .= \"".$tpl->get("main_error1")."\";");
}

eval ("\$download_liste .= \"".$tpl->get("main_download_liste")."\";");
}


Vielleicht findet das ja mal jemand nützlich...
Funktioniert jedenfalls prächtig!