Kluczem jest zapytanie SQL, które można skonfigurować jako ciąg:
$sqlquery = "SELECT field1, field2 FROM table WHERE NOT columnA = 'x' AND NOT columbB = 'y'";
Należy pamiętać, że istnieje wiele sposobów, aby nie określa. Jeszcze jeden, który działa tak samo dobrze jest:
$sqlquery = "SELECT field1, field2 FROM table WHERE columnA != 'x' AND columbB != 'y'";
Oto pełna przykładów, jak go używać:
$link = mysql_connect($dbHost,$dbUser,$dbPass) or die("Unable to connect to database");
mysql_select_db("$dbName") or die("Unable to select database $dbName");
$sqlquery = "SELECT field1, field2 FROM table WHERE NOT columnA = 'x' AND NOT columbB = 'y'";
$result=mysql_query($sqlquery);
while ($row = mysql_fetch_assoc($result) {
//do stuff
}
Możesz robić, co chcesz, we wskazanym powyżej pętli while. Uzyskaj dostęp do każdego pola tabeli jako elementu $row array
, co oznacza, że $row['field1']
poda wartość field1
w bieżącym wierszu, a $row['field2']
poda wartość field2
.
Należy zauważyć, że jeśli kolumny (y) mogą mieć wartości NULL
, nie zostaną znalezione przy użyciu którejkolwiek z powyższych składni. trzeba będzie dodać klauzule zawierać NULL
wartości:
$sqlquery = "SELECT field1, field2 FROM table WHERE (NOT columnA = 'x' OR columnA IS NULL) AND (NOT columbB = 'y' OR columnB IS NULL)";
Cieszę się, że mogę Ci pomóc. Zacząłem od bloku kodu jako przykładu ... potem edytowałem 10 razy, a oszczędzałem, aby pomyśleć "poczekaj, mogę dodać jeszcze jedną rzecz, aby było to o wiele jaśniejsze" –
żadna z nich nie działa jeśli domyślna wartość kolumny to 'NULL' – SpYk3HH
@ SpYk3HH Dobry punkt. Zajmę się tym. –