MyBB.de Forum

Normale Version: Automatische Listen aus Profilfeldern
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo und guten Abend liebe Gemeinde.

Ich habe da ein Problem mit einem Umbau.
Und zwar geht es um die HIER sehr gut beschriebene Erkärung, wie man Profilfelder ausließt und in eine eigene Tabelle auswerfen kann.

Prinzipiell funktioniert es auch.
Nur werden bei mir meine als weiblich markierten Accounts leider nicht angezeigt; die männlichen hingegen schon.

Ein User aus dem oben verlinkten Beitrag hatte das Problem anders herum; aber bei ihm lag es wohl am Umlaut in "männlich".


Vielleicht weiß jemand einen Rat?
Als ANSI habe ich die PHP abgespeichert.


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 crime_users LEFT JOIN crime_userfields ON crime_users.uid = crime_userfields.ufid WHERE fid27 = 'weiblich' ORDER BY crime_userfields.fid24 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['fid24'];
eval("\$female_faceclaim .= \"".$templates->get("female_faceclaim")."\";");
}


$faceclaim=$db->query("SELECT * FROM crime_users LEFT JOIN crime_userfields ON crime_users.uid = crime_userfields.ufid WHERE fid27 = 'männlich' ORDER BY crime_userfields.fid24 ASC");


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

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

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

?>


Vielen Dank im Voraus für eure Rückmeldungen. Smile

MfG
Santhony
Bist Du Dir sicher, dass die fid's stimmen, die Du in Deinen Abfragen verwendest?
Gib mal in der where dem fid27 auch noch deinen Tabellenpräfix und die Tabelle mit an, dann könnte es schon funktionieren.

Also aus fid27 dies machen crime_userfields.fid27
Hallo und guten Morgen.
Vielen Dank für eure schnelle Rückmeldung.

@Jockl:
Ja, es sind die richtigen IDs. Die männlichen Avatare werden ja ordnungsgemäß ausgeworfen.

@MrBrechreiz:
Habe jetzt die php wie folgt verändert:

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 crime_users LEFT JOIN crime_userfields ON crime_users.uid = crime_userfields.ufid WHERE crime_userfields.fid27 = 'weiblich' ORDER BY crime_userfields.fid24 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['fid24'];
eval("\$female_faceclaim .= \"".$templates->get("female_faceclaim")."\";");
}


$faceclaim=$db->query("SELECT * FROM crime_users LEFT JOIN crime_userfields ON crime_users.uid = crime_userfields.ufid WHERE crime_userfields.fid27 = 'männlich' ORDER BY crime_userfields.fid24 ASC");


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

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

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

?>

Aber leider werden die Weiber immer noch nicht ausgeworfen. -.-°°
Kann man sich das bei dir mal ansehen? Ein Administrator-Account ist von nöten.
@Mr: Brechreiz.
Eine PM mit Zugangsdaten ist an dich raus.
Versuchs mal so bitte und ersetze alles mit meinem Code.

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
$faceclaimw=$db->query("SELECT * FROM crime_users LEFT JOIN crime_userfields ON crime_users.uid = crime_userfields.ufid WHERE crime_userfields.fid27 = 'weiblich' ORDER BY crime_userfields.fid24 ASC");

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


$faceclaimm=$db->query("SELECT * FROM crime_users LEFT JOIN crime_userfields ON crime_users.uid = crime_userfields.ufid WHERE crime_userfields.fid27 = 'männlich' ORDER BY crime_userfields.fid24 ASC");


while(
$result=$db->fetch_array($faceclaimm)) {
$userid $result['uid'];
$username htmlspecialchars_uni($result['username']);
$avatar htmlspecialchars_uni($result['fid24']);

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

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

?>
Jetzt funktioniert es wunderbar. Big Grin

An dieser Stelle auch noch einmal einen herzlichen Dank an dich, Mr.Brechreiz. Big Grin
Bitte sehr.
Noch für die anderen die die Lösung gerne wissen möchten. Es lag im Grunde an einem Leerzeichen im Template-Namen.