Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Ohne die richtige Fehlermeldung ist es etwas schwierig zu helfen. Kann du bitte im ACP einstellen, dass die Warnungen nicht versteckt werden?
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
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
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
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....
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
Beiträge: 25.762
Themen: 269
Registriert seit: 20.09.2005
Jockl, so wird das nichts.
Der Fehler ist, dass in der Schleife auch $alter verwendet wird.
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 9.560
Themen: 197
Registriert seit: 27.12.2007
MyBB-Version: 1.8
(16.06.2014, 09:57)StefanT schrieb: Jockl, so wird das nichts.
Der Fehler ist, dass in der Schleife auch $alter verwendet wird.
Wollte nur schauen, ob Du noch mitliest...
Sorry, hatte ich übersehen, weil ich ich mich auf das Query konzentriert hatte.
Beiträge: 182
Themen: 27
Registriert seit: 09.08.2013
MyBB-Version: 1.8.6
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
Beiträge: 31
Themen: 14
Registriert seit: 04.11.2014
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'
Beiträge: 43
Themen: 6
Registriert seit: 23.07.2015
04.08.2015, 10:40
(Dieser Beitrag wurde zuletzt bearbeitet: 04.08.2015, 10:40 von paperlove.)
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...