2016-12-15 13 views
0

Ich habe Probleme mit dieser ziemlich einfachen Datenbankabfrage. Die If-Bedingung ist wahr und funktioniert.Probleme mit einfacher Datenbankabfrage

Das Problem kommt mit dem if/if/else hinein. Die zweite Anweisung, wenn der aktive Benutzer einige Verbindungen hat, aber das Profil, das er besucht, nicht funktioniert. Ergebnisse in "laden Sie zu Ihrer Mannschaft ein".

Aber wenn der erste Zustand der Natur wahr ist, wenn weder der aktive Benutzer noch der Profilbesitzer Verbindungen hat, funktioniert meine Abfrage nicht. Dies führt immer zur else-Anweisung ("join crew"), die nur dann ausgeführt werden sollte, wenn der Profilbesitzer mindestens eine Verbindung hat ($ countProfileCon! == 0). In diesem Fall spielt es keine Rolle, wie viele Verbindungen aktiv sind Benutzer hat.

Ich kann nicht sehen, warum.

if ($countCurrent==0 && $countFormer==0) { 


     $activeConnectionQuery = $DBcon->query("SELECT * FROM tbl_current_userconnections WHERE user_id=".$_SESSION['userSession']); 
     $countActiveCon=$activeConnectionQuery->num_rows; 

     $profileConnectionQuery = $DBcon->query("SELECT * FROM tbl_current_userconnections WHERE user_id=".$_GET['user']); 
     $countProfileCon=$profileConnectionQuery->num_rows; 



     if ($countActiveCon==0 && $countProfileCon==0) { 
      $connect = "<p>create a crew</p>"; 
     } 

     if ($countActiveCon!==0 && $countProfileCon==0) { 
      $connect = "<p>invite to your crew</p>"; 
     } 

     else { 
      $connect = "<p>join crew</p>"; 
     } 
    } 

tbl_current_userconnections sieht wie folgt aus, wenn das Problem auftritt:

user_id     connection_id 
----------------  ---------------- 

(es ist leer, natürlich)

Antwort

0

Ich glaube, Sie die "else" Schlüsselwort in der zweiten Bedingung fehlen.

if ($countActiveCon==0 && $countProfileCon==0) { 
    $connect = "<p>create a crew</p>"; 
} 

elseif ($countActiveCon!==0 && $countProfileCon==0) { 
    $connect = "<p>invite to your crew</p>"; 
} 

else { 
    $connect = "<p>join crew</p>"; 
} 

Ihr erster Zustand funktioniert gut. Aber wegen des Fehlens von elsif überschreibt es Ihre Variable, weil die zweite Bedingung als falsch ausgewertet wird.

+0

was für eine Schönheit, danke Sir, das war es! – Maxischl