Нужна помощь с 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
Как получить предыдущий шаг в PG_QUERY, чтобы получить предыдущее значение поля? [дублировать] ⇐ Php
Кемеровские программисты php общаются здесь
1754559887
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
";
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79718692/how-to-get-previous-step-in-pg-query-to-get-previuos-value-of-the-field[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия