MyBB.de Forum

Normale Version: Doppelt mit WHERE abfragen?
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
Code:
WHERE uf.fid19 IN('weiblich',  'männlich')
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
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")."\";");    
}
Super, danke, das klappt! Smile