Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Automatische Liste - Anzahlen ausgeben
#1
Hallo zusammen Smile


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> &nbsp;
{$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
Zitieren


Nachrichten in diesem Thema
Automatische Liste - Anzahlen ausgeben - von Amaris - 05.10.2016, 13:56

Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Automatische Liste ordnen Miss_Kogg 7 3.182 02.01.2018, 11:24
Letzter Beitrag: Rainbow2
  Automatische Liste wird nicht angezeigt KidCoco 10 2.892 10.09.2017, 15:08
Letzter Beitrag: doylecc