Привет, я вытащил стол с внешнего сайта, используя YQL. Таблица содержит список случаев, таких как: Но количество столбцов может измениться, чтобы включить больше столбцов.
| Name | T1 | T2 | T3 |
|--------|--------|--------|--------|
| Name 1 | 23.234 | 45.234 | 16.456 |
| Name 2 | 23.389 | 44.322 | 15.222 |
| Name 5 | 22.890 | 44.221 | 15.345 |
То, что я пытаюсь сделать, это получить самое низкое значение из каждого столбца. Я смог получить его с помощью этой функции.
<?php
$sectim = [];
for ($st=1; $st < count($allRows); $st++) {
$sectim[] = $phpObj->query->results->tbody->tr[1]->td[6]->content;
}
echo "<pre>"; print_r($sectim); echo "</pre>";
echo "<pre>"; print_r(min($sectim)); echo "</pre>";
?>
Это дает мне список всех времен в этом столбце и дает мне минимум. Я борюсь с тем, как сделать это так, чтобы я мог получить минимум для каждого столбца таблицы, учитывая, что число столбцов не фиксировано и может быть либо 3 столбца 4, либо даже 9 столбцов. Я думаю об использовании любого другого для операторов для циклического прохождения всех столбцов, но я не знаю, будет ли это работать.
Вы можете использовать этот запрос
select min(T1) as column1,min(T2) as column2,min(T3) as column3 from tabel
Это даст вам минимальное значение каждого столбца.
Если вы ищете для построения динамического запроса:
$array = array(
'column1' => 'T1',
'column2' => 'T2',
'column3' => 'T3'
);
$column_binder = array();
foreach ($array as $key=>$value){
$column_binder[] = " min($value) as $key ";
}
$query = "SELECT ".impode(",", $column_binder)." From tabel_name";