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 Listen im MyBB?
#11
Ohne die richtige Fehlermeldung ist es etwas schwierig zu helfen. Kann du bitte im ACP einstellen, dass die Warnungen nicht versteckt werden?
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#12
Oh ja klar:

Warning [2] mysql_fetch_assoc() expects parameter 1 to be resource, string given - Line: 421 - File: inc/db_mysql.php PHP 5.3.28 (Linux)
File Line Function
[PHP] errorHandler->error
/inc/db_mysql.php 421 mysql_fetch_assoc
/bewohnerliste.php 51 DB_MySQL->fetch_array
#13
Probier es mal so:
PHP-Code:
$alter $db->query("
    SELECT u.uid, u.username, f.ufid. f.fid26, f.fid24
    FROM mybb_users u
    LEFT JOIN mybb_userfields f ON (u.uid = f.ufid)
    WHERE f.fid24 = 'THIRTYFIVE'
    ORDER BY f.fid26 ASC"
);
    
$result $db->fetch_array($alter);
while(
$result $result)
{
    
$userid .= $result['uid'];
    
$username .= $result['username'];
    
$job .= $result['fid25'];
    
$alter .= $result['fid26'];
    eval(
"\$bewohnerthirtyfive .= \"".$templates->get("bewohnerthirtyfive")."\";");

Wobei ich mir nicht wegen fid24 und fid26 sicher bin, ob das so Sinn macht. Das musst Du aber wissen, was sich hinter diesen userfield verbirgt....
viele Grüße
Jockl
übersetzte und eigene Plugins
#14
Also ich habe die Liste in Altergruppen unterteilt. So das man einen besseren Überblick hat. Feld 24 ist also die Gruppe und Feld 26 ist dann das Alter. Daher möchte ich das die Altersgruppen nach Alter sortiert werden.

Jetzt wird das angezeigt:
MyBB has experienced an internal SQL error and cannot continue.

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 '.fid26, f.fid24 FROM mybb_users u LEFT JOIN mybb_userfields f ON (u.uid = f.ufid' at line 1
Query:
SELECT u.uid, u.username, f.ufid. f.fid26, f.fid24 FROM mybb_users u LEFT JOIN mybb_userfields f ON (u.uid = f.ufid) WHERE f.fid24 = 'THIRTYFIVE' ORDER BY f.fid26 ASC
#15
Jockl, so wird das nichts. Wink
Der Fehler ist, dass in der Schleife auch $alter verwendet wird.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
#16
Danke, das war natürlich dumm. Somit ist der Fehler behoben Big Grin
#17
(16.06.2014, 09:57)StefanT schrieb: Jockl, so wird das nichts. Wink
Der Fehler ist, dass in der Schleife auch $alter verwendet wird.
Wollte nur schauen, ob Du noch mitliest... Wink

Sorry, hatte ich übersehen, weil ich ich mich auf das Query konzentriert hatte. Sad
viele Grüße
Jockl
übersetzte und eigene Plugins
#18
Hallöchen,
ich wollte mal fragen, ob man die Auslese so erweitern kann, dass es nur bestimmte Usergruppen ausliest, also irgendwie so etwas?
WHERE (usergroup = '3' OR usergroup = '4' OR usergroup = '6' OR usergroup = '8' OR usergroup = '9' OR usergroup = '10')
lg
#19
Auch wenn es schon etwas älter hier ist, aber ja das wäre möglich. Etwa du machst es sofort hinter dem WHERE oder WHERE hier eine anweisung AND usergroup = '3' OR usergroup = '4' OR usergroup = '6' OR usergroup = '8' OR usergroup = '9' OR usergroup = '10'
#20
Vielen Dank für das Bereitstellen der Anleitung. Die Schritte sind ja recht einfach zu verstehen, aber bei mir wird einfach nichts angezeigt, wenn ich "männlich" auswähle. Wenn ich "weiblich" auswähle funktioniert es. Und ich finde den Fehler nicht, obwohl ich die Anleitung schon 3x durchgegangen bin. Kann mir jemand sagen was ich falsch gemacht habe?

Meine Avatarliste.php

PHP-Code:
<?php


//avatarlisten addon by fallen newyork

define('IN_MYBB'1);
require 
"./global.php";
require 
"./inc/config.php";

add_breadcrumb("Avatarliste""avatarliste.php");

// Ersetze das fid[XX] durch fid und der ID des Profilfelds Avatargeschlecht
$faceclaim=$db->query("SELECT * FROM mybb_users LEFT JOIN mybb_userfields ON mybb_users.uid = mybb_userfields.ufid WHERE fid5 = 'weiblich' ORDER BY mybb_userfields.fid6 ASC");

// Ersetze das fid[ZZ] durch fid und der ID des Profilfelds Avatarperson
while($result=$db->fetch_array($faceclaim)) {
$userid $result['uid'];
$username $result['username'];
$avatar $result['fid6'];
eval(
"\$female_faceclaim .= \"".$templates->get("female_faceclaim")."\";");
}


$faceclaim=$db->query("SELECT * FROM mybb_users LEFT JOIN mybb_userfields ON mybb_users.uid = mybb_userfields.ufid WHERE fid5 = 'männlich' ORDER BY mybb_userfields.fid6 ASC");


while(
$result=$db->fetch_array($faceclaim)) {
$userid $result['uid'];
$username $result['username'];
$avatar $result['fid6'];

eval(
"\$male_faceclaim .= \"".$templates->get("male_faceclaim")."\";");
}

eval(
"\$avatarliste = \"".$templates->get("avatarliste")."\";");
output_page($avatarliste);

?>

Profilfeld 5 ist bei mir das Geschlecht, Profilfeld 6 die Avatarperson.

Habe ich da irgendetwas übersehen? Ich komme einfach nicht drauf, weshalb es bei den weiblichen Personen funktioniert und bei den männlichen nicht.

Die templates habe ich noch einmal auf Inhalt und Name kontrolliert, da ist alles richtig angegeben... Huh