Как получить предыдущий шаг в PG_QUERY, чтобы получить предыдущее значение поля? [дублировать]Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как получить предыдущий шаг в PG_QUERY, чтобы получить предыдущее значение поля? [дублировать]

Сообщение Anonymous »

Нужна помощь с PHP и SQL - Попытка получить информацию из запроса: < /p>
$result2 = pg_query($conn,"select main.s_n, employers.employer, history.date from main inner join (employers inner join history on employers.employer_code = history.employer_code) on main.device_code = history.device_code");
//sort the results obtained by date and select the most recent date
while ($row2 = pg_fetch_row($result2)) {
$last_date = $row2[2];
$last_owner = $row2[1];
// $prev_owner = ???;
< /code>
Теперь мы смотрим на местоположение ноутбука к последней дате - если это был склад, то мы отображаем его в таблице, если нет, мы пропускаем его < /p>
if ($last_owner == "warehouse")
{
echo "


$row[0]
$row[1]
$row[2]
$last_date
$last_owner
**$prev_owner**


";
}
< /code>
В чем вопрос, на самом деле - я получаю полученную таблицу из запроса, сортируйте результаты по дате, но мне нужно получить предыдущую запись в одном из полей. Проще говоря, я получаю таблицу, в которой перечислены владельцы оборудования, которые арендовали оборудование раньше и который является фактическим владельцем. Поэтому мне нужно вывести его как «Оборудование | Дата получения | текущий владелец | Предыдущий владелец». То есть, находясь в цикле запросов, мне нужно каким -то образом вернуть шаг и написать предыдущего владельца в отдельную переменную, чтобы поместить ее в таблицу результатов. Как бы вы это реализовали? Спасибо. < /P>
Обновлено: В конце я сделал это$result = pg_query($conn,"select name,model,inventory_code,s_n,device_type_code from public.main where device_type_code=1 order by main.s_n");
if (!$result) {
echo "An error occurred.\n";
exit;
}

echo "


Equipment name
Model
ID
Last date
Last owner


";

while ($row = pg_fetch_row($result)) {
$serial_number = $row[3]; //writing the value of the serial number to a variable $serial_number
//and create a nested query in which we will extract the history of movements for each equipment (by serial number)

$result2 = pg_query($conn,"select main.s_n, employers.employer, history.date from main inner join (employers inner join history on employers.employer_code = history.employer_code) on main.>
//sorting the results obtained by date and select the most recent date
$count=0; //counter for each equipment
while ($row2 = pg_fetch_row($result2)) { //go through
$last_date = $row2[2]; //get date
$last_owner = $row2[1]; //and owner; the last such line will be the last owner of the laptop
$count=$count+1; //counting the number of device transfers
}
$discount=$count-2; //go down to the owner BEFORE last owner
//now we look at the location of the laptop by the last date - if it was a Warehouse, then we display it in the table, if not, we skip it
if ($last_owner == "Warehouse") {
if($count=='1') {
$owner_prev="There were no transfers";
}
else {
$row_prev = pg_fetch_row($result2,$discount);
$owner_prev = $row_prev[1];
}
echo "


$row[0]
$row[1]
$row[2]
$last_date
$owner_prev


";

}
}


Подробнее здесь: https://stackoverflow.com/questions/797 ... -the-field
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»