la query è rottura. Come ignorare le righe PHP
Domanda
Ho una domanda probabilmente zoppo ma mi ha fatto bloccato Ho il db una interrogazione
$query_Recordset10 = "SELECT * FROM products
WHERE razdel='mix' AND ID='$ID+1' AND litraj='$litri' ORDER BY ID ASC";
$Recordset10 = mysql_query($query_Recordset10, $victor) or die(mysql_error());
$row_Recordset10 = mysql_fetch_array($Recordset10);
$totalRows_Recordset10 = mysql_num_rows($Recordset10);
Questa è la query per il prossimo prodotto della linea con sede a l'ID del prodotto thats corrente sulla pagina.
Ma se il prodotto successivo corrispondenti ai criteri della query è 2 o più ID è avanti le mie pause del ciclo. Quindi c'è un modo per saltare questo file e ottenere l'ID successivo corrispondenti ai criteri di ricerca.
La ringrazio molto.
Soluzione
modificare la tua ricerca a questo:
$query_Recordset10 = "SELECT * FROM products
WHERE razdel='mix' AND ID > '$ID' AND litraj='$litri' ORDER BY ID ASC LIMIT 1";
Quindi è ancora ottiene solo 1 riga restituita (se c'è qualcosa di ritorno), ma sarete restituisce la riga successiva (secondo ORDER BY ID ASC) rispetto (potenzialmente) la riga con un ID incrementale.
Altri suggerimenti
SELECT * FROM products
WHERE razdel='mix' AND
ID> $ ID AND litraj='$litri' ORDER BY ID ASC";
problema risolto. Ho ancora molto da imparare.
SELECT * FROM products WHERE razdel='mix' AND ID>'$ID' AND litraj='$litri' ORDER BY ID ASC LIMIT 1
Questa è la linea di Wright, ma il mio errore è stato come viene generato $ ID.
Grazie a tutti.
Usa foreach per ciclare su una matrice piuttosto che cercare di accesso da parte degli indici (se il recupero ogni valore):
foreach ($records as $record) {
}
anziché
for ($i = 0; $i < count($records); $i++) {
}
o
$i = 0;
while ($i < count($records)) {
$i++;
}
o
$i = 0;
do {
} while (++$i < count($records));
Utilizzare questa query invece:
SELECT * FROM products WHERE razdel='mix' AND ID>$ID AND litraj='$litri' ORDER BY ID ASC LIMIT 1
Questo vi darà l'elemento successivo dopo quello con ID di $ ID.