SQL Abfrage WHERE+OR

fixxxxxi

Erfahrenes Mitglied
Hallo,

ich habe eine Datenbank in der stehen zwei verschiedene IDs einmal die esepuid und einmal die userID.

Nun sieht meine Abfrage wie folgt aus:

PHP:
$ergebnisdw=safe_query("SELECT userID FROM ".PREFIX."user WHERE userID='$id' ");
$dw=mysql_fetch_array($ergebnisdw);

$gameacc_sql = safe_query("SELECT type, value FROM ".PREFIX."user_gameacc WHERE userID = '".$dw['userID']."'");
		if(mysql_num_rows($gameacc_sql)){
			$num=1;
			
			while($db=mysql_fetch_array($gameacc_sql)){

$ergebnis=safe_query("SELECT * FROM ".PREFIX."user_banlist WHERE esepuid = '".$db['value']."'");
$ds=mysql_fetch_array($ergebnis);
$now = date("Y-m-d");

if($ds['enddate']>$now)

$ton8status='<a href="#" class="tt"><font title="Dieser Spieler ist bis '.$ds['enddate'].' gesperrt! Grund: '.$ds['grund'].'" color="red">[GESPERRTER SPIELER]</font>
      <span class="tooltip">
        <span class="top"><strong>Zusatzinformationen:</strong><br><br></span>
        <span class="middle"><font color="red">ESE BAN bis '.$ds['enddate'].'</font> <br><br>'.$ds['grund'].' - <br>'.$ds['server'].' <br><br> Geloggt am: '.$ds['begindate'].'<br> Geloggte PUID: '.$ds['esepuid'].' </span>
        <span class="bottom"><br><img src="/images/ese_banlist.gif" border="0"><br><br></span>
      </span>
    </a>';
    
}}

Nun möchte ich, in der zweiten Abfrage also bei

PHP:
$ergebnis=safe_query("SELECT * FROM ".PREFIX."user_banlist WHERE esepuid = '".$db['value']."'");

die Abfrage so gestalten, das wenn keine userID vorhanden ist, bzw. diese 0 ist, nicht die Zeile der userID ausgelesen wird, sondern die Zeile der esepuid.

Wie kann ich diese beiden Zeilen:
PHP:
$ergebnis=safe_query("SELECT * FROM ".PREFIX."user_banlist WHERE esepuid = '".$db['value']."'");

$ergebnis=safe_query("SELECT * FROM ".PREFIX."user_banlist WHERE userID='$id' ");
vereinbaren?

LG Chris
 
Moin fixxxxxxi,

das sollte ein einfacher UNION lösen.

SQL:
 SELECT * FROM ".PREFIX."user_banlist 
WHERE esepuid = '".$db['value']."'
UNION
SELECT * FROM ".PREFIX."user_banlist WHERE userID='$id' ;

Sollte ein UNION statt UNION ALL sein, da Du sonst Duplikate erhältst.

Grüße
Biber
 
Zuletzt bearbeitet von einem Moderator:
Zurück