ah
Abfrage für Gruppenmitgliedschaft?
- Blutgerinsel
- Mitglied
- Beiträge: 1801
- Registriert: 19.07.2004 18:53
- Wohnort: Landkreis Ulm
- Kontaktdaten:
- kratzer54847
- Mitglied
- Beiträge: 3065
- Registriert: 20.01.2003 16:34
- Wohnort: Düsseldorf/Hannover/Berlin
- Kontaktdaten:
hoi nochmal,
ich wollte die Sache noch etwas erweitern..
Wenn es keine Gruppen gibt,soll natürlich keine leere Page erscheinen sondern eine entsprechende Meldung "There are no groups".
daher habe ich das jetzt mal so probiert:
aber das will nicht,ich bekomme einen Parse Error in dieser Zeile:
ich wollte die Sache noch etwas erweitern..
Wenn es keine Gruppen gibt,soll natürlich keine leere Page erscheinen sondern eine entsprechende Meldung "There are no groups".
daher habe ich das jetzt mal so probiert:
Code: Alles auswählen
//
// Select if we have groups...
//
$sql = "SELECT *
FROM " . GROUPS_TABLE . ";
$result = mysql_query($sql);
if ( $row = $db->sql_fetchrow($result) )
{
//
// Select User's Group Memberships
//
$sql = "SELECT g.group_id, g.group_name, g.group_description, g.group_type
FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g
WHERE ug.user_id = '" . $userdata['user_id'] . "'
AND ug.group_id = g.group_id
AND g.group_single_user = '0'";
$result = mysql_query($sql);
$groupmemberships = array();
while ( $row = $db->sql_fetchrow($result) )
{
$groupmemberships['id'] = $row['group_id'];
$groupmemberships['name'] = $row['group_name'];
$groupmemberships['group_desc'] = $row['group_description'];
$groupmemberships['group_type'] = $row['group_type'];
$groupmemberships['checkbox'] = "<input type='checkbox' name='groups[]' value='$groupmemberships[id]'>";
if ( $groupmemberships[group_type] == '1' || $groupmemberships[group_type] == '2' )
{
$groupmemberships['checkbox'] = '';
}
$template->assign_block_vars('groups', array(
'GROUP_ID' => $groupmemberships['id'],
'GROUP_NAME' => $groupmemberships['name'],
'GROUP_DESCRIPTION' => $groupmemberships['group_desc'],
'GROUP_CHECKBOX' => $groupmemberships['checkbox']
));
}
//
// Select user's non Memberships
//
$sql = "SELECT g.group_id, g.group_name, g.group_description, g.group_type
FROM phpbb_groups g LEFT JOIN phpbb_user_group ug ON ug.group_id = g.group_id AND ug.user_id = '$userdata[user_id]'
WHERE g.group_single_user = 0
AND ug.group_id IS NULL";
$result = mysql_query($sql);
$groupnonmemberships = array();
while ( $row = $db->sql_fetchrow($result) )
{
$groupnonmemberships[] = $row;
$groupnonmemberships['checkbox'] = "<input type='checkbox' name='groups[]' value='$row[group_id]'>";
if ( $row[group_type] == '1' || $row[group_type] == '2' )
{
$groupnonmemberships['checkbox'] = '';
}
$template->assign_block_vars('groupsnon', array(
'GROUP_ID' => $row['group_id'],
'GROUP_NAME' => $row['group_name'],
'GROUP_TYPE' => $row['group_type'],
'GROUP_DESCRIPTION' => $row['group_description'],
'GROUP_CHECKBOX' => $groupnonmemberships['checkbox'],
));
}
$template->set_filenames(array(
'body' => 'c_groups_body.tpl'
));
$template->pparse('body');
}
else
{
$template->assign_vars(array(
'C_MESSAGE' => "There are no existing User Groups.<br />
<a href='index.php' class='gensmall'>Click here to return to the Main Page</a>",
'C_MESSAGE_TITLE' => "No Groups Existing"
));
$template->set_filenames(array(
'body' => 'c_message_body.tpl'
));
$template->pparse('body');
}Code: Alles auswählen
$sql = "SELECT g.group_id, g.group_name, g.group_description, g.group_type
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP
Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden
Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden
Du hast zwei SQL-Anweisungen die so anfangen, sag mal genauer, welche SQL-Anweisung es ist und schreibe mal die genaue Fehlermeldung.kratzer54847 hat geschrieben:aber das will nicht,ich bekomme einen Parse Error in dieser Zeile:
Code: Alles auswählen
$sql = "SELECT g.group_id, g.group_name, g.group_description, g.group_type
Mfg
MrMind
Selbst ist der Coder
Coder unter Linux
Coder unter Linux
- kratzer54847
- Mitglied
- Beiträge: 3065
- Registriert: 20.01.2003 16:34
- Wohnort: Düsseldorf/Hannover/Berlin
- Kontaktdaten:
die fehlerhafte Zeile ist die erste Zeile nach dem
//
// Select User's Group Memberships
//
die erste Abfrage prüft,ob überhaupt Gruppen vorhanden sind,die zweite ruft ab,in welchen Gruppen ein User ist.
//
// Select User's Group Memberships
//
die erste Abfrage prüft,ob überhaupt Gruppen vorhanden sind,die zweite ruft ab,in welchen Gruppen ein User ist.
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP
Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden
Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden
Ersetze
durch
Code: Alles auswählen
$sql = "SELECT *
FROM " . GROUPS_TABLE . "; Code: Alles auswählen
$sql = "SELECT *
FROM " . GROUPS_TABLE; - kratzer54847
- Mitglied
- Beiträge: 3065
- Registriert: 20.01.2003 16:34
- Wohnort: Düsseldorf/Hannover/Berlin
- Kontaktdaten:
vielen Dank Schumi das war der Fehler.
edit: jetzt ist zwar der Parse Error weg,aber er zeigt mir trotzdem die Übersicht an,selbst wenn keine Gruppen da sind
und das wollte ich ja eigentlich vermeiden.
mfg Johny
edit: jetzt ist zwar der Parse Error weg,aber er zeigt mir trotzdem die Übersicht an,selbst wenn keine Gruppen da sind
Code: Alles auswählen
//
// Select if we have groups...
//
$sql = "SELECT *
FROM " . GROUPS_TABLE;
$result = mysql_query($sql);
if ( $row = $db->sql_fetchrow($result) )
{
//
// Select User's Group Memberships
//
$sql = "SELECT g.group_id, g.group_name, g.group_description, g.group_type
FROM " . USER_GROUP_TABLE . " ug, " . GROUPS_TABLE . " g
WHERE ug.user_id = '" . $userdata['user_id'] . "'
AND ug.group_id = g.group_id
AND g.group_single_user = '0'";
$result = mysql_query($sql);
$groupmemberships = array();
while ( $row = $db->sql_fetchrow($result) )
{
$groupmemberships['id'] = $row['group_id'];
$groupmemberships['name'] = $row['group_name'];
$groupmemberships['group_desc'] = $row['group_description'];
$groupmemberships['group_type'] = $row['group_type'];
$groupmemberships['checkbox'] = "<input type='checkbox' name='groups[]' value='$groupmemberships[id]'>";
if ( $groupmemberships[group_type] == '1' || $groupmemberships[group_type] == '2' )
{
$groupmemberships['checkbox'] = '';
}
$template->assign_block_vars('groups', array(
'GROUP_ID' => $groupmemberships['id'],
'GROUP_NAME' => $groupmemberships['name'],
'GROUP_DESCRIPTION' => $groupmemberships['group_desc'],
'GROUP_CHECKBOX' => $groupmemberships['checkbox']
));
}
//
// Select user's non Memberships
//
$sql = "SELECT g.group_id, g.group_name, g.group_description, g.group_type
FROM phpbb_groups g LEFT JOIN phpbb_user_group ug ON ug.group_id = g.group_id AND ug.user_id = '$userdata[user_id]'
WHERE g.group_single_user = 0
AND ug.group_id IS NULL";
$result = mysql_query($sql);
$groupnonmemberships = array();
while ( $row = $db->sql_fetchrow($result) )
{
$groupnonmemberships[] = $row;
$groupnonmemberships['checkbox'] = "<input type='checkbox' name='groups[]' value='$row[group_id]'>";
if ( $row[group_type] == '1' || $row[group_type] == '2' )
{
$groupnonmemberships['checkbox'] = '';
}
$template->assign_block_vars('groupsnon', array(
'GROUP_ID' => $row['group_id'],
'GROUP_NAME' => $row['group_name'],
'GROUP_TYPE' => $row['group_type'],
'GROUP_DESCRIPTION' => $row['group_description'],
'GROUP_CHECKBOX' => $groupnonmemberships['checkbox'],
));
}
$template->set_filenames(array(
'body' => 'groups_body.tpl'
));
$template->pparse('body');
}
else
{
$template->assign_vars(array(
'MESSAGE' => "There are no existing User Groups.<br />
<a href='index.php' class='gensmall'>Click here to return to the Main Page</a>",
'MESSAGE_TITLE' => "No Groups Existing"
));
$template->set_filenames(array(
'body' => 'message_body.tpl'
));
$template->pparse('body');
}
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP
Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden
Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden
- kratzer54847
- Mitglied
- Beiträge: 3065
- Registriert: 20.01.2003 16:34
- Wohnort: Düsseldorf/Hannover/Berlin
- Kontaktdaten:
ok habs in Eigenregie gelöst,dafür stellt sich mit jetzt ein weiteres Problem:
Ich habe noch eine Funktion eingebaut,mit der die User den Usergroups beitreten können. Dies geschieht über eine Checkbox neben dem UG-Namen. Das Problem ist jetzt aber....wie generiere ich die SQL-Queries?
die einzelnen IDs werden in einem Array gespeichert.
Ich stelle mir jetzt eine Schleife vor,die solange läuft,bis alle im Array enthaltenen Werte eingefügt sind.
Wenn der Array also die IDs 1,2 und 3 enthält,sollen die SQL-Abfragen dementsprechend folgendermaßen lauten:
$sql = "INSERT INTO " . USER_GROUPS_TABLE . " (user_id, group_id)
VALUES('$userdata[user_id]', "$gruppenid";
wie ist das zu ermöglichen?
Ich habe noch eine Funktion eingebaut,mit der die User den Usergroups beitreten können. Dies geschieht über eine Checkbox neben dem UG-Namen. Das Problem ist jetzt aber....wie generiere ich die SQL-Queries?
die einzelnen IDs werden in einem Array gespeichert.
Ich stelle mir jetzt eine Schleife vor,die solange läuft,bis alle im Array enthaltenen Werte eingefügt sind.
Wenn der Array also die IDs 1,2 und 3 enthält,sollen die SQL-Abfragen dementsprechend folgendermaßen lauten:
$sql = "INSERT INTO " . USER_GROUPS_TABLE . " (user_id, group_id)
VALUES('$userdata[user_id]', "$gruppenid";
wie ist das zu ermöglichen?
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP
Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden
Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden
- Blutgerinsel
- Mitglied
- Beiträge: 1801
- Registriert: 19.07.2004 18:53
- Wohnort: Landkreis Ulm
- Kontaktdaten:
Soll das eine ernstgemeinte Frage sein in diesem Sachverhalt?kratzer54847 hat geschrieben:die einzelnen IDs werden in einem Array gespeichert.
Ich stelle mir jetzt eine Schleife vor,die solange läuft,bis alle im Array enthaltenen Werte eingefügt sind.
Wenn der Array also die IDs 1,2 und 3 enthält,sollen die SQL-Abfragen dementsprechend folgendermaßen lauten:
$sql = "INSERT INTO " . USER_GROUPS_TABLE . " (user_id, group_id)
VALUES('$userdata[user_id]', "$gruppenid";
wie ist das zu ermöglichen?
Bzw. eine Frage die sich selbst beantwortet?
Du hast 3 Schleifen zur Auswahl:
while
foreach
for
Kann hier aber nirgends Eigeniniative sehen, daher nunja....
- kratzer54847
- Mitglied
- Beiträge: 3065
- Registriert: 20.01.2003 16:34
- Wohnort: Düsseldorf/Hannover/Berlin
- Kontaktdaten:
meine Eigeninitiative hat sich ausgezahlt...habs hinbekommen mit ner foreach-Schleife
Knowledge Base | MOD Datenbank | Boardsuche | HTML | PHP
Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden
Durch die richtige Verwendung dieser Links können viele Fragen beantwortet werden