LINUX.ORG.RU

Как узнать значения первого и последнего объекта mysqli_fetch_object

 ,


0

1

Работает:

$first_and_last = "SELECT * FROM tblbewerb WHERE (bew_tln_id = '$tln_id') ORDER BY bew_abgeschickt";
      $ergebnis_first_and_last = mysqli_query($con,$first_and_last);

      while ($row_first_and_last = mysqli_fetch_object($ergebnis_first_and_last)) {

          $tmp_arr_row_first_and_last[] = $row_first_and_last->bew_abgeschickt;
      }
      $first = reset($tmp_arr_row_first_and_last);
      $last = end($tmp_arr_row_first_and_last);

Не покидает ощущение, что можно было бы сделать много изящнее, не выдумывая временный массив.

★★

А зачем запрашивать все записи, если потом потребуется только первая и последняя? Почему не сделать два запроса, с limit 1?

amomymous ★★★
()

SELECT *, bew_abgeschickt = min(bew_abgeschickt) as first FROM tblbewerb WHERE (bew_tln_id = '$tln_id') and bew_abgeschickt in (min(bew_abgeschickt), max(bew_abgeschickt)).

// Я особо не задумывался, что пишу, так что сильно не пинай.

winlook38 ★★
()
Последнее исправление: winlook38 (всего исправлений: 1)
Ответ на: комментарий от amomymous

А зачем запрашивать все записи,
если потом потребуется только первая и последняя ....

Пока я не отсортирую их по времени я сам не знаю какая из них первая, а какая последняя. Индекс мне говорит о последовательности внесения в банк данных, но это ни в коей мере не совпадает с хронологией, событие трёхлетней давности могут внести позже произошедшего третьего дня. Банк данных заполняется задним числом в конце месяца на основании информации, полученной от разных людей.

jia ★★
() автор топика
Ответ на: комментарий от jia

Ну ты там осторожнее =) Я же говорю, что писал просто так, не задумываясь. Как минимум, нужно быть уверенным, что bew_abgeschickt уникально, посмотреть план запроса и прочее подобное. Но ты это и так, понимаешь, я уверен.

winlook38 ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.