2016-02-24 1 views
0

Привет, я вытащил таблицу с внешнего веб-сайта, используя YQL. Таблица содержит список раз, например: Но число столбцов может меняться, чтобы добавить больше столбцов.Как найти минимальное значение в каждом столбце таблицы и отобразить класс в php

| 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 столбцов. Я собираюсь использовать любой другой для операторов, чтобы перебирать все столбцы, но я не знаю, будет ли это работать.

ответ

0

Вы можете использовать этот запрос

select min(T1) as column1,min(T2) as column2,min(T3) as column3 from tabel 

Это даст вам минимальное значение каждого столбца.

+0

он не использует базу данных. Пожалуйста, прочитайте вопрос, прежде чем отвечать на него. –

0

Если вы ищете построения динамического запроса:

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