Beiträge: 186
Themen: 37
Registriert seit: 04.09.2013
MyBB-Version: 1.8
17.12.2013, 18:08
(Dieser Beitrag wurde zuletzt bearbeitet: 17.12.2013, 18:09 von Yasilein.)
Hallo,
gerade bin ich wenig am herum php-en und stehe kurz vor der Lösung, scheitere aber gerade. Mit der einfachen Abfrage wie der hier klappt es ganz normal
Code:
WHERE uf.fid19 = 'weiblich'
Feld 19 ist ein Profilfeld, in dem man die Auswahl zwischen männlich und weiblich hat. Nun möchte ich aber, dass 'männlich' in diesem Fall ebenfalls dabei ist, also dass ein anderes angezeigt wird, egal was man in Feld 19 gewählt hat . Diese Codes funktionieren allerdings beide nicht:
Code:
WHERE uf.fid19 = 'weiblich, männlich'
Code:
WHERE uf.fid19 = 'weiblich', 'männlich'
Wie muss ich denn das eingeben?
Danke im Voraus
Liebe Grüße vom Yasilein!
Beiträge: 25.761
Themen: 269
Registriert seit: 20.09.2005
17.12.2013, 18:21
(Dieser Beitrag wurde zuletzt bearbeitet: 17.12.2013, 18:21 von StefanT.)
Code:
WHERE uf.fid19 IN('weiblich', 'männlich')
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 186
Themen: 37
Registriert seit: 04.09.2013
MyBB-Version: 1.8
17.12.2013, 19:11
(Dieser Beitrag wurde zuletzt bearbeitet: 17.12.2013, 19:13 von Yasilein.)
Huhu,
danke, das hat leider nicht funktioniert. Der männliche Teil erscheint nicht, der weibliche wohl. Das komplette Teil sieht so aus:
Code:
$result = $db->query("SELECT u.uid, u.username, uf.fid23, uf.fid19
FROM ".TABLE_PREFIX."users u
LEFT JOIN ".TABLE_PREFIX."userfields uf
ON u.uid = uf.ufid
WHERE uf.fid19 IN('weiblich', 'männlich')
AND(uf.fid23
LIKE 'W%' OR uf.fid23
LIKE 'X%' OR uf.fid23
LIKE 'Y%' OR uf.fid23
LIKE 'Z%')
ORDER BY uf.fid23 ASC");
while($row = $db->fetch_array($result)) {
$userid = $row['uid'];
$username = "<a href=\"member.php?action=profile&uid=".$row[uid]."\" target=_blank>$row[username]</a>";
$nachname = $row['fid23'];
eval("\$nachnamen_wxyz .= \"".$templates->get("nachname_bit")."\";");
}
Gibt es alternativ eine Möglichkeit, dass man die Abfrage für Feld 19 bei WHERE einfach rauslässt, so dass nur das andere Feld abgefragt wird und 19 praktisch irrelevant ist?
Liebe Grüße vom Yasilein!
Beiträge: 25.761
Themen: 269
Registriert seit: 20.09.2005
Klar kannst du die Abfrage ganz weg lassen, also:
Code:
$result = $db->query("SELECT u.uid, u.username, uf.fid23, uf.fid19
FROM ".TABLE_PREFIX."users u
LEFT JOIN ".TABLE_PREFIX."userfields uf
ON u.uid = uf.ufid
WHERE (uf.fid23
LIKE 'W%' OR uf.fid23
LIKE 'X%' OR uf.fid23
LIKE 'Y%' OR uf.fid23
LIKE 'Z%')
ORDER BY uf.fid23 ASC");
while($row = $db->fetch_array($result)) {
$userid = $row['uid'];
$username = "<a href=\"member.php?action=profile&uid=".$row[uid]."\" target=_blank>$row[username]</a>";
$nachname = $row['fid23'];
eval("\$nachnamen_wxyz .= \"".$templates->get("nachname_bit")."\";");
}
Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Beiträge: 186
Themen: 37
Registriert seit: 04.09.2013
MyBB-Version: 1.8
Super, danke, das klappt!
Liebe Grüße vom Yasilein!