In generale per
escludere risultati è prevista una sintassi apposita per la
query:
Codice:
SELECT * FROM tabella WHERE campo != valore;
così facendo vengono selezionati tutte le righe in cui la colonna
campo non contiene
valore. Dualmente, vengono escluse le righe in cui
campo contiene
valore.
Ci sono però condizioni che non è possibile (o conveniente) esprimere in SQL. Per esempio "escludere il primo risultato": poiché i risultati restituiti da MySQL
non sono ordinati (si parla infatti di
record set, non
record list) è impossibile determinare chi sia il primo. Quello che puoi fare è lavorare col "PHP standard" saltando la prima iterazione di un ciclo:
Codice PHP:
$i = 0;
while ($row = mysqli_fetch_assoc($result)) {
++$i;
if ($i == 1) {
continue;
}
ehco $row['nome'];
}
questo ovviamente non ha nulla a che fare con SQL (e nemmeno con PHP in modo specifico), è programmazione pura e semplice.
Ancora diverso è se sei in grado di trasformare il risultato di un'interrogazione in un insieme (totalmente) ordinato e, al contempo, i risultati che vuoi escludere sono i primi
k:
Codice:
SELECT * FROM tabella ORDER BY campo ASC OFFSET 10
significa di ordinare i risultati in base al valore di
campo (crescente) ed escludere i primi 10.