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
Doppelt mit WHERE abfragen?
#1
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? Shy
Danke im Voraus Smile
Liebe Grüße vom Yasilein! Love
Zitieren
#2
Code:
WHERE uf.fid19 IN('weiblich',  'männlich')
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
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? Huh
Liebe Grüße vom Yasilein! Love
Zitieren
#4
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")."\";");    
}
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#5
Super, danke, das klappt! Smile
Liebe Grüße vom Yasilein! Love
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Doppelt Buchstaben abfragen? Yasilein 6 3.036 07.06.2014, 13:18
Letzter Beitrag: Yasilein
  Anzahl der User in den Gruppen abfragen MrBrechreiz 10 4.622 29.04.2014, 11:54
Letzter Beitrag: MrBrechreiz
  Portal: Abfragen ob Thread von User gelesen homepage-sk 3 2.154 31.10.2010, 10:55
Letzter Beitrag: StefanT
  Zugriffsrechte pro Forum für anzugebenden User abfragen? icarus 3 2.122 27.09.2010, 12:42
Letzter Beitrag: querschlaeger
  MySQL abfragen zahl Marti95. 4 2.676 14.12.2009, 19:02
Letzter Beitrag: Marti95.