ich probiere für meinen inneren Schweinehund
den Admin_PN_list-Mod auf das Advanced-PM-Mod
nur grob umzu arbeiten.
//Edit
Unten habe ich nochmals neu angefangen zu beschreiben.
PN-List Mod für Advanced PM-Mod
-
- Mitglied
- Beiträge: 473
- Registriert: 03.12.2002 20:13
- Wohnort: Buseck
- Kontaktdaten:
PN-List Mod für Advanced PM-Mod
Zuletzt geändert von jörg gierth am 24.05.2004 19:11, insgesamt 1-mal geändert.
Vielleicht könntest du mal grob umreißen, was du programmieren willst, was der gezeigte Code machen sollte und was stattdessen passiert.
Auch ein aussagekräftigerer Titel für den Thread wäre deiner Sache nur dienlich...
Auch ein aussagekräftigerer Titel für den Thread wäre deiner Sache nur dienlich...
Schnelle direkte Hilfe? Modeinbau? Umfassender, persönlicher Support? Ein individuelles Design/Template?
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
Ich bin käuflich und löse zu kleinen Preisen Deine Probleme. Anfragen bitte per PN oder Mail.
-
- Mitglied
- Beiträge: 473
- Registriert: 03.12.2002 20:13
- Wohnort: Buseck
- Kontaktdaten:
ok wir fangen mal von vorne an
Ich möchte den Admin-PN-lis-Mod auf den
Advanced-PN-Mod umbauen.
Ich habe nun folgende Tabellen:
-phpbb_privmsga
-phpbb_privmsga_recips
in der privmsga stehen die PN-Überschriften, sowie die
Inhalte.
In der privmsga_recips stehen die User ID die die PN geschrieben haben
und der Empfänger.
Ich bin nun schon sowiet , das ich die Überschriften und die Inhalte
angezeigt bekomme.
Was ich nun noch machen möchte ist die Absender_id mit der
User_id zuverknüpfen , so das ich den Namen angezeigt bekomme.
Hier der bis jetzt gehende Code:
nun habe ich schon folgendes Probiert:
aber es klappt nicht und ich bekomme folgenden Fehler:
Ich stelle ich nun di abfrage am besten an.
Gruß Jörg
Ich möchte den Admin-PN-lis-Mod auf den
Advanced-PN-Mod umbauen.
Ich habe nun folgende Tabellen:
-phpbb_privmsga
-phpbb_privmsga_recips
in der privmsga stehen die PN-Überschriften, sowie die
Inhalte.
In der privmsga_recips stehen die User ID die die PN geschrieben haben
und der Empfänger.
Ich bin nun schon sowiet , das ich die Überschriften und die Inhalte
angezeigt bekomme.
Was ich nun noch machen möchte ist die Absender_id mit der
User_id zuverknüpfen , so das ich den Namen angezeigt bekomme.
Hier der bis jetzt gehende Code:
Code: Alles auswählen
<?php
global $userdata, $lang, $board_config, $phpEx;
define('IN_PHPBB', true);
if( !empty($setmodules) )
{
$filename = basename(__FILE__);
$module['Users']['Users PN'] = $filename;
return;
}
//
// Let's set the root dir for phpBB
//
$phpbb_root_path = '../';
require($phpbb_root_path . 'extension.inc');
require('./pagestart.' . $phpEx);
//
// Set variables
//
$users_per_page = 25;
$start = (isset($HTTP_GET_VARS['start'])) ? intval($HTTP_GET_VARS['start']) : 0;
if( isset($HTTP_POST_VARS['sort']) )
{
$sort_method = $HTTP_POST_VARS['sort'];
}
else if( isset($HTTP_GET_VARS['sort']) )
{
$sort_method = $HTTP_GET_VARS['sort'];
}
else
{
$sort_method = 'privmsg_id';
}
if( isset($HTTP_POST_VARS['order']) )
{
$sort_order = $HTTP_POST_VARS['order'];
}
else if( isset($HTTP_GET_VARS['order']) )
{
$sort_order = $HTTP_GET_VARS['order'];
}
else
{
$sort_order = '';
}
$template->set_filenames(array(
'body' => 'admin/admin_pn_list_body.tpl')
);
// Count users
$sql = "SELECT count(privmsg_id) as total FROM ".phpbb_privmsga." WHERE privmsg_id > 0";
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not count users", "", __LINE__, __FILE__, $sql);
}
$row = $db->sql_fetchrow($result);
$total_users = $row['total'];
$template->assign_vars(array(
'L_SELECT_SORT_METHOD' => $lang['Select_sort_method'],
'U_LIST_ACTION' => append_sid("admin_pn_list.$phpEx"),
'L_SORT' => $lang['Sort'],
'L_ORDER' => $lang['Order'],
'L_SORT_DESCENDING' => $lang['Sort_Descending'],
'L_SORT_ASCENDING' => $lang['Sort_Ascending'],
'ID_SELECTED' => ($sort_method == 'privmsg_id') ? 'selected="selected"' : '',
'USERNAME_SELECTED' => ($sort_method == 'username') ? 'selected="selected"' : '',
'POSTS_SELECTED' => ($sort_method == 'privmsg_time') ? 'selected="selected"' : '',
'LASTVISIT_SELECTED' => ($sort_method == 'user_lastvisit') ? 'selected="selected"' : '',
'ASC_SELECTED' => ($sort_order != 'DESC') ? 'selected="selected"' : '',
'DESC_SELECTED' => ($sort_order == 'DESC') ? 'selected="selected"' : '',
'TOTAL_USERS' => $total_users
)
);
$sql = "SELECT * FROM ".phpbb_privmsga."
ORDER BY privmsg_id DESC
LIMIT ".$start.",".$users_per_page;
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not query Users information", "", __LINE__, __FILE__, $sql);
}
while( $row = $db->sql_fetchrow($result) )
{
$userrow[] = $row;
}
for ($i = 0; $i < $users_per_page; $i++)
{
if (empty($userrow[$i]))
{
break;
}
$row_color = (($i % 2) == 0) ? "row1" : "row2";
$template->assign_block_vars('userrow', array(
'COLOR' => $row_color,
'NUMBER' => $userrow[$i]['privmsg_id'],
'time' => date($userdata['user_dateformat'], $userrow[$i]['privmsg_time'], $userdata['user_timezone']),
'subject' => $userrow[$i]['privmsg_subject'],
'text' => wordwrap( $userrow[$i]['privmsg_text'],100, "<br>", 25),
'von' => $userrow[$i]['username'],
)
);
}
$template->assign_vars(array(
'PAGINATION' => generate_pagination(append_sid("admin_pn_list.$phpEx?sort=$sort_method&order=$sort_order"), $total_users, $users_per_page, $start),
'PAGE_NUMBER' => sprintf($lang['Page_of'], ( floor( $start / $users_per_page ) + 1 ), ceil( $total_users / $users_per_page ))
) // end array
);
// Finally...
$template->pparse('body');
include('./page_footer_admin.'.$phpEx);
?>
Code: Alles auswählen
$sql = "SELECT * FROM ".phpbb_privmsga." AND ".phpbb_privmsga_recips."
ORDER BY privmsg_id DESC
WHERE ".privmsga_user_id." = ".users.user_id." AND
".users.username." = $username
LIMIT ".$start.",".$users_per_page;
if(!$result = $db->sql_query($sql))
{
message_die(GENERAL_ERROR, "Could not query Users information", "", __LINE__, __FILE__, $sql);
}
aber es klappt nicht und ich bekomme folgenden Fehler:
Code: Alles auswählen
DEBUG MODE
SQL Error : 1064 You have an error in your SQL syntax. Check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND phpbb_privmsga_recips ORDER BY privmsg_id DESC
SELECT * FROM phpbb_privmsga AND phpbb_privmsga_recips ORDER BY privmsg_id DESC WHERE privmsga_user_id = usersuser_id AND usersusername = LIMIT 0,25
Gruß Jörg
- andreasOymann
- Ehemaliges Teammitglied
- Beiträge: 2392
- Registriert: 10.06.2003 16:29
- Wohnort: Hamminkeln
- Kontaktdaten:
-
- Mitglied
- Beiträge: 473
- Registriert: 03.12.2002 20:13
- Wohnort: Buseck
- Kontaktdaten:
Ich habe mal im Handbuch danach gesucht
und folgendes gefunden.
Aber was bedeuten denn die *.key ??
Sind es es in meinen Fall und
und folgendes gefunden.
Code: Alles auswählen
SELECT *
FROM a,b LEFT JOIN c ON (c.key=a.key) LEFT JOIN d ON (d.key=a.key)
WHERE b.key=d.key;
Sind es es in meinen Fall
Code: Alles auswählen
privmsga_user_id." = ".users.user_id."
Code: Alles auswählen
".users.username." = $username