DropDown über functions.php |
#AHBL
Alternativ Mitglied
Dabei seit: 05.02.12
Beiträge: 134
|
|
Problembeschreibung:
Hallo, ich habe für meine User eine Art Filebase erstellte eine kleine wo sie Kategorien jeder für sich anlegen kann und dann Einträge dazu anlegen und bearbeiten können nur habe ich noch ein Problem was ich nicht selber gelöst bekomme. Um einen Eintrag jetzt einer Kategorie zu zuordnen müssen sie die ID der Kategorie angeben sprich, ich hab ein input Feld wo sie die ID der Kategorie eintragen wo der Eintrag drunter angezeigt werden soll doch möchte ich lieber ein DropDown haben wo alle Kategorien aufgelistet sind die der User X für sich angelegt hat.
Also habe ich in der function.php geschaut wie das bei dem DropDown im ACP bei den Board anlegen gemacht wurde also habe ich folgendes in der function hinzugefügt (habe es dann kopiert und angepasst also es versucht)
php: |
1:
2:
3:
4:
5:
6:
|
function makecatoptions($catid, $selected=0) {
$out .= "<option value=\"".$cat[catid]."\"".ifelse($selected==1" selected").">";
$out .= str_repeat("".$cat[name]."</option>";
else $out .= $cat[name]."</option>";
$out.=makecatoptions($cat[catid],$selected);
} |
|
Dann in der filebase.php im ADD Teil folgendes
php: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
|
if(isset($_POST['send'])) {
$db->query("INSERT INTO bb".$n."_filebase (id,userid,info,catid) VALUES(NULL,'$wbbuserdata[userid]','".addslashes(htmlspecialchars($info))."','$catid')");
header("Location: filebase.php?action=own");
exit();
}
$result_drop = $db->query("SELECT catid, info FROM bb".$n."_filebase_cat WHERE userid = '$wbbuserdata[userid]'");
while ($row = $db->fetch_array($result_drop)) $cat_options = makecatoptions(0);
eval("\$tpl->output(\"".$tpl->get("filebase_entriesadd")."\");");
}
Im Edit Teil
if(isset($_POST['send'])) {
$db->query("UPDATE bb".$n."_filebase SET info='".addslashes(htmlspecialchars($info))."', catid='".addslashes(htmlspecialchars($catid))."' WHERE id='$id'");
header("Location: filebase.php?action=own");
exit();
}
$result_drop = $db->query("SELECT catid, info FROM bb".$n."_filebase_cat WHERE userid = '$wbbuserdata[userid]'");
while ($row = $db->fetch_array($result_drop))
$cat_options = makecatoptions(0,1,1,$row['catid']);
eval("\$tpl->output(\"".$tpl->get("filebase_entriesedit")."\");");
} |
|
Nun ist mein Problem, dass ich die ID der Kategorie nicht in die Datenbank so bekomme den diese bleibt auf 0 ob ich einen neuen Eintrag erstelle oder einen bearbeite und nun weiß ich nicht ob es wirklich nötig ist, das ganze in der function.php zu machen oder ob man sowas auch anders lösen kann das ich nur den Namen im DropDown der Kategorie auswähle er die richtige ID bei einem Neuen Eintrag in die DB schreibt und beim bearbeiten eines Beitrages.
So sieht es in dem ADD Template aus
code: |
1:
2:
3:
4:
5:
6:
7:
|
<tr>
<td bgcolor="{tablecolora}" id="tableb"><b>Kategorie:</b></td>
<td bgcolor="{tablecolora}" id="tablea"><select name="cat">
<option value="0">keine</option>
$cat_options
</select></td>
</tr> |
|
Und so sieht es im EDIT Template aus
code: |
1:
2:
3:
4:
5:
6:
7:
|
<tr>
<td bgcolor="{tablecolora}" id="tableb"><b>Kategorie:</b></td>
<td bgcolor="{tablecolora}" id="tablea"><select name="cat">
<option value="0">keine</option>
$cat_options
</select></td>
</tr> |
|
Um eine passende Lösung wäre ich sehr dankbar oder eine Aufklärung wie man das Problem gelöst bekommt.
Grüße
Fehlermeldung:
Link zum Forum und Screenshot (KEINE Bilderhoster, per Dateianhang):
Was wurde zuletzt geändert oder eingebaut?
|
|
03.02.13 23:05 |
E-Mail
Finden
Als Freund hinzufügen
|
|
|