Вопрос

У меня есть вопрос, вероятно, хромой, но это заставило меня застрять, у меня есть запрос БД

 $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);

Это запрос на следующий продукт в строке в зависимости от идентификатора текущего продукта, который на странице.

Но если следующий продукт соответствует критериям в запросе, составляет 2 или более ID, впереди мой цикл перерывы. Так есть ли способ пропустить эту строки и получить следующий идентификатор, соответствующий критериям.

Большое тебе спасибо.

Это было полезно?

Решение

Измените ваш запрос к этому:

$query_Recordset10 = "SELECT * FROM products 
    WHERE razdel='mix' AND ID > '$ID' AND litraj='$litri' ORDER BY ID ASC LIMIT 1";

Таким образом, вы до сих пор возвращаются только 1 ряд (если для возврата есть), но вы вернетесь к следующей строке (в соответствии с порядком ID ASC) против (потенциально) строки с инкрементным идентификатором.

Другие советы

SELECT * FROM products
WHERE razdel='mix' AND ID> $ ID AND litraj='$litri' ORDER BY ID ASC";

ПРОБЛЕМА РЕШЕНА. У меня все еще есть много, чтобы учиться.

SELECT * FROM products WHERE razdel='mix' AND ID>'$ID' AND litraj='$litri' ORDER BY ID ASC LIMIT 1

Это линия Райта, но моя ошибка была как генерируется $ id.

Спасибо вам всем.

Используйте Foreach, чтобы закрутить массив, а не пытаться получить доступ к индексам (если вы выбираете каждое значение):

foreach ($records as $record) {
}

вместо

for ($i = 0; $i < count($records); $i++) {
}

или

$i = 0;
while ($i < count($records)) {

    $i++;
}

или

$i = 0;
do {

} while (++$i < count($records));

Вместо этого используйте этот запрос:

SELECT * FROM products WHERE razdel='mix' AND ID>$ID AND litraj='$litri' ORDER BY ID ASC LIMIT 1

Это даст вам следующий элемент после того, как он с идентификатором $ id.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top