2016-08-02 4 views
0

Ich versuche, von meinem databaseCASE CONDITION mit den Daten zu verwenden, aber es funktioniert nichtwie mit Datenbank CASE Zustand zu verwenden, Daten

Hier ist mein Code:

SELECT 
    CASE WHEN `vessel_name` == 'SAMMY' AND `vessel_status` == 'AVAILABLE PROPOSE LINEUP' 
     THEN 'asdf' 
    END 
FROM `pending_list` 

ich heraus echo versuchen AVAILABLE PROPOSE LINEUP, wenn die Aussage ist TRUE

hier ist meine database:
Spaltenname vessel_name Reihe valu e SAMMY
Spaltenname vessel_status Zeilenwert AVAILABLE PROPOSE LINEUP

wenn die Bedingung wahr ist, muss BEISPIEL Ergebnis sein:

Vessel Name: SAMMY    
Vessel Status: AVAILABLE PROPOSE LINEUP 

wenn die Bedingung falsch ist, muss BEISPIEL Ergebnis sein:

Vessel Name: SAMMY    
Vessel Status: NO AVAILABLE PROPOSE LINEUP 

Hier ist mein ganzer Code:

<table class="table table-hover table-condensed" data-toggle="table" id="resultTable"> 
      <thead class="thead-inverse"> 
      <tr> 
       <th data-sortable="true">Vessel Name</th> 
       <th data-sortable="true">Vessel Status</th> 
      </tr> 
      </thead> 
      <tr> 
       <th>SAMMY</th> 
       <th><?php "SELECT CASE WHEN `vessel_status` = 'AVAILABLE PROPOSE LINEUP' 
      THEN 'AVAILABLE PROPOSE LINEUP' 
      ELSE 'NO AVAILABLE PROPOSE LINEUP' 
     END as `vessel_status` 
FROM `pending_list` 
WHERE `vessel_name` = 'SAMMY'" ?></th> 
      </tr> 
+1

Verwenden Sie ein einzelnes '='. –

+0

ist meine Syntax korrekt? – Adi

+0

Was ist die erwartete Ausgabe? –

Antwort

0

Es wäre gut, wenn Sie einige Beispieldaten zur Verfügung stellen. Basis meiner Annahme habe ich meine Meinung gegeben. Bitte prüfen ...

Sie SQL wie unten

"SELECT vessel_name, CASE WHEN `vessel_status` = 'AVAILABLE PROPOSE LINEUP' THEN 'AVAILABLE PROPOSE LINEUP' ELSE 'NO AVAILABLE PROPOSE LINEUP' END as vessel_status 
FROM `pending_list`" 

Auch im HTML-Teil MySQL-Verbindung und Abfrageausführungs Methode schreiben können, müssen die Daten zu holen aufgerufen werden. Derzeit ist nicht klar, wie viele Daten aus der Tabelle von dieser Abfrage abgerufen werden. Wenn mehr als 1 Datensätze abgerufen werden, wobei u eine Schleife Thru sie sonst nur Daten zeigen, wie

$sql = "SELECT vessel_name, CASE WHEN `vessel_status` = 'AVAILABLE PROPOSE LINEUP' THEN 'AVAILABLE PROPOSE LINEUP' ELSE 'NO AVAILABLE PROPOSE LINEUP' END as vessel_status 
FROM `pending_list`"; 

$conn = mysql_connect('host','username','password') or die(mysql_error); 
mysql_select_db(db_name); 
$recordset = mysql_query($sql ,$conn) or die(mysql_error); 

folgt, wenn nur ein Datensatz kommt dann

$obj = mysql_fetch_object($recordset); 
$vessel_status = $obj->vessel_status ; 
$vessel_name = $obj->vessel_name ; 

wenn mehr als eine Datensätze werden cming dann loop

while($obj = mysql_fetch_object($recordset)) 
{ 
    $vessel_status = $obj->vessel_status ; 
    $vessel_name = $obj->vessel_name ; 
} 


mysql_free_result($recordset); 
Verwandte Themen