05.10.2016, 12:56
Hallo zusammen
Ich leite ein Harry Potter Forum und benutze dort eine modifizierte automatische Liste nach dem "avatarlisten addon" von fallen newyork. Es entstand daraus eine "Charakterliste", die alle User in verschiedene Gruppen einteilt (verschiedene Häuser, geordnet nach Geschlecht + Klassenstufen). So entstehen z.B. folgende Gruppen:
- Gryffindor, männlich, 6. Klasse
- Gryffindor, weiblich, 6. Klasse
- Gryffindor, männlich, 7. Klasse
- Gryffindor, weiblich, 7. Klasse
Geordnet werden die Gruppen über Profilfelder gepaart mit einer Gruppen-ID.
Der Code in der zugehörigen .php sieht folgendermaßen aus:
Ausgegeben wird das ganze in einem Template, das so aussieht:
Es funktioniert auch soweit ganz wunderbar!
Allerdings möchte ich nun noch die Anzahl der verschiedenen Gruppenmitglieder herauslesen. Ich habe es mit dem Code aus diesem Thread versucht. Allerdings kann ich so ja nur über die Gruppen-ID filtern - ich bräuchte zusätzlich noch den Filter über die Profilfelder.
Ich habe nun verschiedene Varianten ausprobiert, erhalte allerdings immer einen MySQL-Error.. Könnte mir vielleicht jemand weiterhelfen? Ich würde mich über eine Antwort sehr freuen!
Viele Grüße,
Amaris
Ich leite ein Harry Potter Forum und benutze dort eine modifizierte automatische Liste nach dem "avatarlisten addon" von fallen newyork. Es entstand daraus eine "Charakterliste", die alle User in verschiedene Gruppen einteilt (verschiedene Häuser, geordnet nach Geschlecht + Klassenstufen). So entstehen z.B. folgende Gruppen:
- Gryffindor, männlich, 6. Klasse
- Gryffindor, weiblich, 6. Klasse
- Gryffindor, männlich, 7. Klasse
- Gryffindor, weiblich, 7. Klasse
Geordnet werden die Gruppen über Profilfelder gepaart mit einer Gruppen-ID.
Der Code in der zugehörigen .php sieht folgendermaßen aus:
Code:
<?php
define("IN_MYBB", 1);
require("global.php");
global $db, $mybb, $lang, $templates, $parser, $theme, $userfields, $customfields, $profilefields, $field_hidden, $bgcolor, $alttrow;
require_once MYBB_ROOT."inc/class_parser.php";
//avatarlisten addon by fallen newyork
//edited by risuena
require "./inc/config.php";
add_breadcrumb("Charaliste", "charaliste.php");
// Schüler Gryffindor male 6
$charalist=$db->query("
SELECT * FROM mybb_users
LEFT JOIN mybb_userfields
ON mybb_users.uid = mybb_userfields.ufid
WHERE fid22 = 'male'
AND fid26 = 'Sechste Klasse'
AND usergroup = '4'
ORDER BY 'username' ASC"
);
while($result=$db->fetch_array($charalist)) {
$userid = $result['uid'];
$username = $result['username'];
$gryffindor_male_6 .= "$username<br>";
}
// Schüler Gryffindor female 6
$charalist=$db->query("
SELECT * FROM mybb_users
LEFT JOIN mybb_userfields
ON mybb_users.uid = mybb_userfields.ufid
WHERE fid22 = 'female'
AND fid26 = 'Sechste Klasse'
AND usergroup = '4'
ORDER BY 'username' ASC"
);
while($result=$db->fetch_array($charalist)) {
$userid = $result['uid'];
$username = $result['username'];
$gryffindor_female_6 .= "$username<br>";
}
// Schüler Gryffindor male 7
$charalist=$db->query("
SELECT * FROM mybb_users
LEFT JOIN mybb_userfields
ON mybb_users.uid = mybb_userfields.ufid
WHERE fid22 = 'male'
AND fid26 = 'Siebte Klasse'
AND usergroup = '4'
ORDER BY 'username' ASC"
);
while($result=$db->fetch_array($charalist)) {
$userid = $result['uid'];
$username = $result['username'];
$gryffindor_male_7 .= "$username<br>";
}
// Schüler Gryffindor female 7
$charalist=$db->query("
SELECT * FROM mybb_users
LEFT JOIN mybb_userfields
ON mybb_users.uid = mybb_userfields.ufid
WHERE fid22 = 'female'
AND fid26 = 'Siebte Klasse'
AND usergroup = '4'
ORDER BY 'username' ASC"
);
while($result=$db->fetch_array($charalist)) {
$userid = $result['uid'];
$username = $result['username'];
$gryffindor_female_7 .= "$username<br>";
}
eval("\$charaliste = \"".$templates->get("charaliste")."\";");
output_page($charaliste);
?>
Ausgegeben wird das ganze in einem Template, das so aussieht:
Code:
<html>
<head>
<title>Charaliste - {$settings['bbname']}</title>
{$headerinclude}
</head>
<body>
{$header}
<br />
<center>
<table border="0" cellspacing="{$theme['borderwidth']}" cellpadding="{$theme['tablespace']}" class="tborder">
<tr><td align="center"><br>
<div class="headline1">Charaliste</div><br>
<div class="bg_listen-div">
<br /><center>
<div class="headline1"><a name="1">Gryffindor</a></div>
<div class="text_listen" style="margin:auto auto;">
<center>
<table width="450px" style="color:#000000;"><tr><td align="center" width="225px"><stichpunkt>Männlich<hm> A</hm></stichpunkt></td><td align="center" width="225px"><stichpunkt>Weiblich<hm> A</hm></stichpunkt></td></tr>
<tr><td valign="top"class="avaliste_abstand">
<i>6. Klasse</I><br />
{$gryffindor_male_6}<br />
<i>7. Klasse</I><br />
{$gryffindor_male_7}<br />
</td>
<td valign="top"class="avaliste_abstand">
<i>6. Klasse</I><br />
{$gryffindor_female_6}<br />
<i>7. Klasse</I><br />
{$gryffindor_female_7}<br />
</td></tr></table></center><br />
<br />
<center><br />
<a href="http://lslv.de/showthread.php?tid=24" target="_blank"><span style="font-weight: bold;">zu den reservierten Avataren</span></a><br />
<br>
</div>
<br>
</td></tr>
</table>
</table>
<br><br>
{$footer}
</body>
</html>
Es funktioniert auch soweit ganz wunderbar!
Allerdings möchte ich nun noch die Anzahl der verschiedenen Gruppenmitglieder herauslesen. Ich habe es mit dem Code aus diesem Thread versucht. Allerdings kann ich so ja nur über die Gruppen-ID filtern - ich bräuchte zusätzlich noch den Filter über die Profilfelder.
Ich habe nun verschiedene Varianten ausprobiert, erhalte allerdings immer einen MySQL-Error.. Könnte mir vielleicht jemand weiterhelfen? Ich würde mich über eine Antwort sehr freuen!
Viele Grüße,
Amaris