Seite 1 von 2
user_id eines beliebegen Users ohne zus. SQL-Abfrage
Verfasst: 06.02.2005 12:28
von Gumfuzi
Hallo!
Bastle gerade an einer Liste. Da habe ich mom nur die Usernamen, darum brauche ich zu dem jeweiligen Namen die passende user_id.
Habe mal wo gelesen, daß die komplett user_table sowieso auf jeder Seite verfügbar ist, da sie immer eingelesen wird.
Wie kann ich also die passende user_id auf einen eigenen phpbb-seite (innerhalb des boardes; common.php ist included) für jeden User rausfinden?
Danke für eure Hilfe!
Verfasst: 06.02.2005 12:35
von Mario Siebert
Habe mal wo gelesen, daß die komplett user_table sowieso auf jeder Seite verfügbar ist, da sie immer eingelesen wird.
Nur die ID des Users der sich momentan auf der Seite befindet ist global verfügbar mit $userdata['user_id'], du wirst also um eine SQL Abfrage nicht herumkommen.
Grüße Mario
Verfasst: 06.02.2005 12:39
von Gumfuzi
Und den Teil in der common.php (vom Colour Grup Mod) kann ich mir nicht zunutze machen?
Code: Alles auswählen
$sql = "SELECT user_id, user_color_group, username FROM " . USERS_TABLE;
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not read user color groups', '', __LINE__, __FILE__, $sql);
}
$colorusers = array();
$coloruname = array();
while ( $row = $db->sql_fetchrow($result) )
{
$userid = $row['user_id'];
$colorusers[$userid] = $row['user_color_group'];
$coloruname[$userid] = $row['username'];
}
$colorgroup = array();
Verfasst: 06.02.2005 13:05
von Blutgerinsel
Witzige Frage......
Du selektierst die User_ID ohne die Ergebnismenge einzuschränken....
Nach der While Schleife...
Code: Alles auswählen
foreach($colorusers as $user_id => $dump)
{
echo $user_id."<br/>";
echo $coloruname[$user_id]."<br/>";
}
Jedoch bleibt mir der Sinn von dem sinnlosen, zusätzlichen Speicherverbrauch durch $userid = $row['user_id']; gänzlich ein Geheimnis
Verfasst: 06.02.2005 13:45
von Gumfuzi
danke!
Verfasst: 06.02.2005 17:08
von MrMind
Gumfuzi hat geschrieben:Und den Teil in der common.php (vom Colour Grup Mod) kann ich mir nicht zunutze machen?
Naja mir ist egal, wie sinnlos mancher Code ist, das geht mich auch nichts an *gg* aber alles was in der common.php deklariert wird, kannste somit in jedem Script nutzen, wenn du so vorgehst, wie es in den anderen Dateien gemacht wird.
Mfg
MrMind
Verfasst: 06.02.2005 20:39
von Gumfuzi
Danke, ich habe es bereits gelöst:
einmal vor der Schleife abgefragt und in Arrays gespeichert, dann kann ich die ohne DB-Abfrage in der Schleife verwenden.
Gibt zwar sicher bessere Lösungen, aber meine ist selbstzusammengecodet *freu*

Verfasst: 06.02.2005 23:43
von Blutgerinsel
Gumfuzi hat geschrieben:Gibt zwar sicher bessere Lösungen, aber meine ist selbstzusammengecodet *freu*

Nehme ungern den Wind aus den Segeln, aber im späteren Verlauf wirst du irgendwann feststellen, dass jede unnötige verwendete Variable Speicher verbraucht. Und dies war früher als die Rechner noch nicht so leistungsfähig waren ein Kernproblem.
Und bei C# ist es noch immer wichtig. Daher gibt es auch OOP, weil wozu was in den Speicher laden was gar nicht gebraucht wird......
Verfasst: 07.02.2005 00:16
von Gumfuzi
Hast ja Recht, aber ich bin froh, daß ich es auch so geschafft habe (selbst) - natürlich versuche ich, das ganze noch zu optimieren, klar
BTW: was ist "OOP"?

Verfasst: 07.02.2005 01:00
von Pyramide
Blutgerinsel hat geschrieben:Nehme ungern den Wind aus den Segeln, aber im späteren Verlauf wirst du irgendwann feststellen, dass jede unnötige verwendete Variable Speicher verbraucht
Generell stimmt das, aber man kann es auch übertreiben - die von dir bemängelte Variable, die dazu noch in jedem durchlauf der Schleife überschrieben wird ist so gut wie nichts, wenn man bedenkt, daß die selbe Schleife ein Array mit allen Benutzern aus der DB erstellt.
Gumfuzi hat geschrieben:BTW: was ist "OOP"?

http://de.wikipedia.org/wiki/Oop