Hallo, Gast!
AnmeldenRegistrieren

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
 
#2
Code:
WHERE uf.fid19 IN('weiblich',  'männlich')
 
#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
 
#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")."\";");    
}
 
#5
Super, danke, das klappt! Smile
 


Möglicherweise verwandte Themen…
Doppelt Buchstaben abfragen?
Letzter Beitrag: 07.06.2014, 14:18
Anzahl der User in den Gruppen abfragen
Letzter Beitrag: 29.04.2014, 12:54
Portal: Abfragen ob Thread von User gelesen
Letzter Beitrag: 31.10.2010, 11:55
Zugriffsrechte pro Forum für anzugebenden User abfragen?
Letzter Beitrag: 27.09.2010, 13:42
MySQL abfragen zahl
Letzter Beitrag: 14.12.2009, 20:02