mh1001
Lt. Commander
- Registriert
- Nov. 2003
- Beiträge
- 2.039
Hallo zusammen,
wo ich nun wieder an der Arbeit meines CMSs bin, komme ich nun zu den etwas unangenehmerern Teilen, welche ich mir zum Ende aufgehoben habe.
Aber lange Rede, kurzer Sinn - Zum Thema:
Ich besitze in einer MySQL-Datenbank zwei Tabellen, rbg_mitglieder und rbg_raenge, welche auf das Wichtigste gekürzt folgendermaßen aufgebaut sind:
Nun werden, wie in dem oberen Codeabschnitt zu sehen ist, die Ränge im Tabellenfeld in der Form [$ID] gespeichert. Die Umwandlung einer solchen Rang-ID-Kette geschieht dann mit dieser Funktion.
Wobei es beim Schreiben einer solchen Rand-ID-Kette, welche vorher per Checkboxen als Array übergeben wurden, so aussieht:
Nun aber genug des Codes und zu den Problemen:
Beim bearbeiten der Mitglieder, soll der Rang über Checkboxen, wie auch schon beim Hinzufügen diser, ausgewählt weden können.
Allerdings sollen dabei die bisher zugewiesenen Ränge schon vorselektiert sein. Der Code hierfür sieht folgendermaßen aus:
Leider läuft dies aber ins Leere und ich erhalte nur leere Checkboxen. Doch wo liegt der Fehler?
Aber nun auch davon genug und zu der Hauptfrage:
Wie speichere ich in "rbg_mitglieder" die Rang-IDs am besten ab, um Möglichst leicht auf die entsprechenden Ränge zugreifen zu können und eine gute Performance zu gewährleisten können, was bei letzterem ganz und gar nicht der Fall ist?
Ich habe auch schon in diversen Portal- und Forensystemen nach einer Lösung gesucht, doch trat weder in Mambo OS, phpBB, noch vBulletin eine ähnliche Handhabung auf.
Deswegen hoffe ich das ihr mir hierbei weiterhelfen könnt.
Vielen Dank im Vorraus
mh1001
wo ich nun wieder an der Arbeit meines CMSs bin, komme ich nun zu den etwas unangenehmerern Teilen, welche ich mir zum Ende aufgehoben habe.

Aber lange Rede, kurzer Sinn - Zum Thema:
Ich besitze in einer MySQL-Datenbank zwei Tabellen, rbg_mitglieder und rbg_raenge, welche auf das Wichtigste gekürzt folgendermaßen aufgebaut sind:
Code:
rbg_raenge
id I--------I rang
--------------------
1 Mitglied
2 Administrator
3 Manager
....
rbg_mitglieder:
id I--------I rang
--------------------
1 [1]
2 [1]
3 [1] [2]
4 [2]
5 [1] [2] [3]
....
Nun werden, wie in dem oberen Codeabschnitt zu sehen ist, die Ränge im Tabellenfeld in der Form [$ID] gespeichert. Die Umwandlung einer solchen Rang-ID-Kette geschieht dann mit dieser Funktion.
PHP:
function id2rang($rang)
{
$abfrage = mysql_query("SELECT id, rang FROM rbg_raenge");
$raenge = array();
while($ds = mysql_fetch_object($abfrage))
{
$raenge["[".$ds->id."]"] = $ds->rang;
}
$format = strtr($rang, " ", ", ");
$format = strtr($format, $raenge);
return $format;
}
PHP:
$rang = "[".maskieren(implode("] [", $HTTP_POST_VARS["rang"]))."]";
Nun aber genug des Codes und zu den Problemen:
Beim bearbeiten der Mitglieder, soll der Rang über Checkboxen, wie auch schon beim Hinzufügen diser, ausgewählt weden können.
Allerdings sollen dabei die bisher zugewiesenen Ränge schon vorselektiert sein. Der Code hierfür sieht folgendermaßen aus:
PHP:
<?php
require("../../daten/#administration_sessions.php");
include("../../daten/#funktionen.php");
include("../../daten/#konfiguration.php");
$mitgliedsauswahl = zahlcheck($HTTP_GET_VARS["mitgliedsauswahl"]);
$abfrage = mysql_query("SELECT nickname, name, status, rang, email, icq, aim, msn, yahoo, geburtsdatum, wohnort, squad, sonstiges FROM rbg_mitglieder WHERE id = '$mitgliedsauswahl'");
$ds = mysql_fetch_array($abfrage);
$abfrage2 = mysql_query("SELECT id, rang FROM rbg_raenge ORDER BY rang");
// ....
while($ds2 = mysql_fetch_object($abfrage2))
{
$rang = substr($ds2->rang, 1, -1)
?>
<input type="checkbox" name="rang[]" value="<?php echo $ds2->id; ?>" <?php if(array_search($rang, explode("] [", $ds["rang"])) != 0) { echo "selected"; } ?> > <?php echo $ds2->rang; ?><br>
<?php
}
?>
Aber nun auch davon genug und zu der Hauptfrage:
Wie speichere ich in "rbg_mitglieder" die Rang-IDs am besten ab, um Möglichst leicht auf die entsprechenden Ränge zugreifen zu können und eine gute Performance zu gewährleisten können, was bei letzterem ganz und gar nicht der Fall ist?
Ich habe auch schon in diversen Portal- und Forensystemen nach einer Lösung gesucht, doch trat weder in Mambo OS, phpBB, noch vBulletin eine ähnliche Handhabung auf.
Deswegen hoffe ich das ihr mir hierbei weiterhelfen könnt.
Vielen Dank im Vorraus
mh1001
Zuletzt bearbeitet: