Programmierung einer Auswahlliste
Forumsregeln
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
phpBB 2.0 hat das Ende seiner Lebenszeit überschritten
phpBB 2.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 2.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf phpBB 3.0, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Programmierung einer Auswahlliste
Hy Forum,
wir haben bei uns im Forum jetzt eine Mail, die im Profil auswählbar ist, ob man diese haben möchte oder nicht. Jetzt möchte ich das so umbauen, das eine sog. Category auswählbar ist, also welche Art von Mails man haben möchte. Dies sollte wenn möglich eine Liste mit mehrfachauswahl sein, bei der der User auswählen kann, was er haben möchte. Der Inhalt dieser Liste sollte von einer Datenbank geladen werden, und die Auswahlen sollten in der Usertabelle gespeichert werden.
Hat von euch sowas jemand schon gemacht?? ICh muss dazu sagen, ich bin in HTML jetzt ned der fitteste.
Danke euch.
wir haben bei uns im Forum jetzt eine Mail, die im Profil auswählbar ist, ob man diese haben möchte oder nicht. Jetzt möchte ich das so umbauen, das eine sog. Category auswählbar ist, also welche Art von Mails man haben möchte. Dies sollte wenn möglich eine Liste mit mehrfachauswahl sein, bei der der User auswählen kann, was er haben möchte. Der Inhalt dieser Liste sollte von einer Datenbank geladen werden, und die Auswahlen sollten in der Usertabelle gespeichert werden.
Hat von euch sowas jemand schon gemacht?? ICh muss dazu sagen, ich bin in HTML jetzt ned der fitteste.
Danke euch.
- S2B
- Ehemaliges Teammitglied
- Beiträge: 3258
- Registriert: 10.08.2004 22:48
- Wohnort: Aachen
- Kontaktdaten:
- Der HTML-Tag für Auswahllisten heißt <select>, die einzelnen Optionen <option>
- Für die Auswahlmöglichkeiten legst du eine Tabelle mit 2 Spalten an: ID und Auswahlmöglichkeit (in meinem Beispiel-Code id und name). Diese wird ausgelesen und in ein <select> eingetragen:
Natürlich müssen die Variablen und Spaltennamen aus der DB entsprechend angepasst werden.
Code: Alles auswählen
$sql = 'SELECT * FROM ' . MAIL_CAT_TABLE; if (!$result = $db->sql_query($sql)) { message_die(GENERAL_ERROR, 'Could not get mail categories', '', __LINE__, __FILE__, $sql); } $select = '<select name="user_mail_cat'>'; while ($cat = $db->sql_fetchrow($result)) { // Ist die ID des aktuellen Eintrags die vom Benutzer ausgewählte? // wenn ja => als Standard auswählen... $selected = ($userdata['user_mail_cat'] == $cat['id']) ? ' selected="selected"' : ''; $select .= '<option value="' . $cat['id'] . '"' . $selected . '>' . $cat['name'] . '</option>'; } $db->sql_freeresult($result); $select .= '</select>';
- Diese $select-Variable kannst du dann ganz normal per Template-System ausgeben lassen.
Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Hy,
oki, das sollte eigentlich nicht zu schwer sein. Das probier ich die Tage mal aus.
Hast du evtl. noch ne Idee, wie ich das Codiere, das ich das in der Usertabelle speichern kann?? Ich mein jetzt, ich hab ne ID-Spalte. Diese Spalte wird per auto_increment hochgezählt. Gibts da ne Funktion, wie ich das basteln kann?
oki, das sollte eigentlich nicht zu schwer sein. Das probier ich die Tage mal aus.
Hast du evtl. noch ne Idee, wie ich das Codiere, das ich das in der Usertabelle speichern kann?? Ich mein jetzt, ich hab ne ID-Spalte. Diese Spalte wird per auto_increment hochgezählt. Gibts da ne Funktion, wie ich das basteln kann?
Ich benutze das immer in einer definierten Funktion: ( Beispiel Generieren einer Dropdownbox aller User )
Code: Alles auswählen
function get_userliste() //Alle User in ein DropDown Filed packen
{
global $lang, $db;
//Vorbereiten der DropDown Box
$select_user = array();
$select_user = "<select name='selected_user'>";
$select_user .= '<option value=\'0\'>'.$lang['cp_select_user'].'</option>';
//Alle User IDs und Usernamen in $result packen
$sql = "SELECT user_id, username
FROM " . USERS_TABLE . "
WHERE user_id != '-1'
ORDER BY username";
$result = $db->sql_query($sql);
//Solange im $result etwas vorhanden ist, den Namen ins Array $select_user packen
while($row = $db->sql_fetchrow($result))
{
if ($selected_user == $row['user_id']) {
$status = 'selected';
}
else
{
$status = '';
}
$select_user .= '<option value="' . $row['user_id'] . '" ' . $status . '>' . $row['username'] . '</option>';
}
$select_user .= '</select>';
// Variable $result leeren
$db->sql_freeresult($result);
// Ergebnis Array zurückgeben an Anforderer
return $select_user;
}
@dr.death:
Ja, oki, aber der baut mir ja wieder die eine Auswahlliste. Mein Gedankenproblem ist jetzt eigentlich, wie ich mir die Info speichere, welche Auswahlmöglichkeiten sind den vom User ausgewählt worden, damit ich sie wieder anzeigen kann, bzw. wenn ich die Mails sende, zu sehen, welche sind den eigentlich gewünscht?
Danke euch.
Ja, oki, aber der baut mir ja wieder die eine Auswahlliste. Mein Gedankenproblem ist jetzt eigentlich, wie ich mir die Info speichere, welche Auswahlmöglichkeiten sind den vom User ausgewählt worden, damit ich sie wieder anzeigen kann, bzw. wenn ich die Mails sende, zu sehen, welche sind den eigentlich gewünscht?
Danke euch.
- AceVentura
- Mitglied
- Beiträge: 366
- Registriert: 30.07.2005 02:16
- Wohnort: Altenkirchen
- Kontaktdaten:
Ein MOD Request durch die Hintertür gestellt 
Aber Respekt, dass du es selber versuchen willst.
Vorweg: haste dir den Newsletter MOD einmal angesehen ? Ich glaube der könnte was für dich sein.
Ansonsten bleibt dir nur die Möglichkeit alles in der Usertabelle zu speichern.
Hast du dich mal mit den SQL Befehlen vertraut gemacht ? (und damit, wie sie in phpBB ausgeführt werden)
@Doc:
warum nimmst du hier ein Array und keinen String?

Aber Respekt, dass du es selber versuchen willst.
Vorweg: haste dir den Newsletter MOD einmal angesehen ? Ich glaube der könnte was für dich sein.
Ansonsten bleibt dir nur die Möglichkeit alles in der Usertabelle zu speichern.
Hast du dich mal mit den SQL Befehlen vertraut gemacht ? (und damit, wie sie in phpBB ausgeführt werden)
@Doc:
warum nimmst du hier ein Array und keinen String?
Code: Alles auswählen
$select_user = array();
Hy AceVentura,
Also ich bin fit in SQL. bin selber Softwareentwickler und Programmiere RichtClients in Java. Wie gesagt, mit HTML bin ich leder ned so firm, hab aber schon einiges in PHPBB rumgebastelt, einige eigene MODS auch geschrieben.
Nein, den ModNewsletter kenn ich ned, schau ihn mir aber noch an, vielleicht kann ich den so umstricken, wie ichs brauch. Danke dir für deinen Tipp.
Also ich bin fit in SQL. bin selber Softwareentwickler und Programmiere RichtClients in Java. Wie gesagt, mit HTML bin ich leder ned so firm, hab aber schon einiges in PHPBB rumgebastelt, einige eigene MODS auch geschrieben.
Nein, den ModNewsletter kenn ich ned, schau ihn mir aber noch an, vielleicht kann ich den so umstricken, wie ichs brauch. Danke dir für deinen Tipp.
Tja, gute FrageAceVentura hat geschrieben: @Doc:
warum nimmst du hier ein Array und keinen String?Code: Alles auswählen
$select_user = array();

Wer weiß was mich da geritten hat.
Der Code stammt aus meinem, nicht veröffentlichten, Kurs Planer MOD.
- S2B
- Ehemaliges Teammitglied
- Beiträge: 3258
- Registriert: 10.08.2004 22:48
- Wohnort: Aachen
- Kontaktdaten:
Für die Profileigenschaft schmeiße ich einfach mal diesen Link in die Runde: MOD:modify_profile. 

Gruß, S2B
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.
Keinen Support per ICQ/PM!
Hier kann man meine PHP-Skripte und meine MODs für phpBB runterladen.