2016-08-04 5 views
-4

Ich habe WHERE Klausel in meinem PHP. Ich brauche diesen Zustand, aber manchmal ich brauche es nicht, hier ist mein Code:wie "WHERE" Bedingung auf PHP deaktivieren

(SELECT * FROM jasa WHERE kota = '$kota' order by id desc LIMIT :hal,7) 

Ich muss wissen, wie diese Klausel zu deaktivieren. Manchmal brauche ich eine spezielle Bedingung aus meinen Daten, aber manchmal muss ich alle Daten nehmen, oder gibt es einen Befehl, alle Daten mit WHERE Klausel zu nehmen?

Meine beste Lösung ist, wenn Befehl auf meinen Android-Apps, aber es wird eine lange Zeit und Code.

+2

würden Sie bitte Ihren Zustand in Ihrer Frage beschreiben? –

+0

Dies ist sehr grundlegende SQL. Hast du selbst gesucht oder versucht? Das erste Suchergebnis, das ich mit "select all records sql" erhalte, ist dies> http://www.w3schools.com/sql/sql_select.asp –

Antwort

0

Nehmen Sie die "where condition" aus der Abfrage und machen Sie die Bedingung separat und fügen Sie sie mit der Abfrage hinzu.

if(condition to use where condition) 
    $where = "WHERE kota = '$kota'"; 
else 
    $where = ""; 
$query = "SELECT * FROM jasa ".$where." order by id desc LIMIT :hal,7"; 
0

es auf diese Weise verwenden

$str = ''; 
if($kota){ // condition yours, right now it's $kota should be there 
$str = "WHERE kota = '$kota' order by id desc LIMIT :hal,7"; // as you need all data if condition is false 
} 
$query = "SELECT * FROM jasa ".$str ; 

Hoffe, dass es Ihnen hilft.

+0

bedenken Sie, dass Sie Ihre Antwort bearbeiten müssen, um sie richtig formatiert zu machen, und um herauszufinden, was das Problem war, Beantwortung der Hauptfrage, nicht nur Grobcode-Snippet. Vielen Dank! – Farside

0

Ein schmutziger Trick ist es, einen „Dummy“ Zustand zusätzlich zum echten haben:

SELECT * 
FROM  jasa 
WHERE 1 = :dummy OR kota = :kota 
ORDER BY id DESC 
LIMIT :hal, 7 

Wenn Sie die Bedingung müssen Sie Dummy binden = 0 und den Wert für kota, und wenn Sie don‘ t du bind dummy = 1 und etwas (wahrscheinlich null für die Lesbarkeit) für kota.

0
$where = ''; 
if ($kota) { 
    $where = sprinft("WHERE kota = '%s'", $kota); 
} 

$sql = sprintf('SELECT * FROM jasa %s ORDER BY id DESC', $where); 

Sie sollten auch den Wert von $ kota bereinigen, um SQL-Injektionen zu vermeiden.

Verwandte Themen