Intereting Posts

Как выбрать наименьшее значение из нескольких столбцов с помощью PHP

У меня есть таблица со следующим:

6xx 8xx 9xx 11xx 12xx 1 0.01 0.002 0.004 0.001 0.025 2 0.025 0.125 0.002 0.01 0.011 

Я хотел бы найти Наименьшее значение из столбца, чтобы этот столбец был зеленого цвета.

Например, в 1-м наименьшее значение равно 0,001, поэтому я хочу, чтобы он был зеленого цвета, для второго 0.002 это наименьшее значение, я хочу, чтобы он был зеленого цвета.

может ли кто-нибудь посоветовать мне, как это сделать, спасибо

ниже приведен код, как я выбираю его из базы данных и отображая int в таблице

 <?php $dbHost = 'localhost'; // usually localhost $dbUsername = 'xxxx'; $dbPassword = 'xxxx'; $dbDatabase = 'xxxx'; $db = mysql_connect($dbHost, $dbUsername, $dbPassword) or die ("Unable to connect to Database Server."); mysql_select_db ($dbDatabase, $db) or die ("Could not select database."); $ColumnNames = mysql_query("SELECT column_name FROM information_schema.COLUMNS WHERE table_name = 'supplierprice' AND column_name NOT IN ('supp_price_id', 'region', 'country', 'net_id', 'networkname', 'mcc', 'mnc', 'mnp')") or die("mysql error"); $columnArray=array(); $i=0; while($rows=mysql_fetch_array($ColumnNames)) { $columnArray[]=$rows[0]; echo "<th style='width:67px;' class='. $columnArray[$i] .' >" . $columnArray[$i] . " </th>"; $i++; } ?> foreach($columnArray as $value) { //$columnArray[]=$rows1[0]; echo '<td style="width:67px;font-weight:'.$text.'" id="CPH_GridView1_xxx" width="0px;" class="'.$value.' '.$rows["net_id"].'"><p>'.$rows[$value].'</p></td>'; } в <?php $dbHost = 'localhost'; // usually localhost $dbUsername = 'xxxx'; $dbPassword = 'xxxx'; $dbDatabase = 'xxxx'; $db = mysql_connect($dbHost, $dbUsername, $dbPassword) or die ("Unable to connect to Database Server."); mysql_select_db ($dbDatabase, $db) or die ("Could not select database."); $ColumnNames = mysql_query("SELECT column_name FROM information_schema.COLUMNS WHERE table_name = 'supplierprice' AND column_name NOT IN ('supp_price_id', 'region', 'country', 'net_id', 'networkname', 'mcc', 'mnc', 'mnp')") or die("mysql error"); $columnArray=array(); $i=0; while($rows=mysql_fetch_array($ColumnNames)) { $columnArray[]=$rows[0]; echo "<th style='width:67px;' class='. $columnArray[$i] .' >" . $columnArray[$i] . " </th>"; $i++; } ?> foreach($columnArray as $value) { //$columnArray[]=$rows1[0]; echo '<td style="width:67px;font-weight:'.$text.'" id="CPH_GridView1_xxx" width="0px;" class="'.$value.' '.$rows["net_id"].'"><p>'.$rows[$value].'</p></td>'; } 

один ответ для вашей проблемы может быть следующим:

1- выведите минимум каждого столбца по запросу sql следующим образом:

 $res1=mysql_query('select min(6xx) as min6, min(8xx)as min8, min(9xx) as min9, min(11xx)as min11, min(12xx) as min12 from tbl_name'); $rec1=mysql_fetch_array($res1); $min6=rec1['min6']; $min8=rec1['min8']; $min9=rec1['min9']; .... 

2- когда вы получаете информацию в html, вы должны проверить, соответствует ли значение min, а затем фон (некоторые css) становятся зелеными:

 $res=mysql_query('select * from tbl_name'); echo "<table>"; foreach($rec=mysql_fetch_array($res)) { echo "<tr>" echo "<td"; if($rec['6xx']==$min6) echo "class='green_cell' "; echo ""; echo $rec['6xx']; echo "</td>"; .... echo "</tr>" 

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

Если что-то вроде этого. Получает столбцы, перебирает их один раз для отображения заголовков. Для каждой строки она вызывает функцию с отображением их. Найден ключ самого низкого значения (если два ключа имеют самое низкое значение, то используется младшая клавиша). Он перемещается вокруг возвращаемых столбцов и выделяет их, выделяя цвет: # ff0000; в стиле для столбца с наименьшим значением.

 <?php $dbHost = 'localhost'; // usually localhost $dbUsername = 'xxxx'; $dbPassword = 'xxxx'; $dbDatabase = 'xxxx'; $db = mysql_connect($dbHost, $dbUsername, $dbPassword) or die ("Unable to connect to Database Server."); mysql_select_db ($dbDatabase, $db) or die ("Could not select database."); $ColumnNames = mysql_query("SELECT GROUP_CONCAT(CONCAT('`', column_name, '`')) AS some_columns FROM information_schema.COLUMNS WHERE table_name = 'supplierprice' AND column_name NOT IN ('supp_price_id', 'region', 'country', 'net_id', 'networkname', 'mcc', 'mnc', 'mnp')") or die("mysql error"); if($rows=mysql_fetch_array($ColumnNames)) { $sql = "SELECT ".$row['some_columns']." FROM supplierprice"; $query_values = mysql_query($sql); if($rows2=mysql_fetch_assoc($ColumnNames)) { echo "<tr>"; foreach($rows2 AS $key=>$value) { echo "<th style='width:67px;' >".$key." </th>"; } echo "</tr>"; process_row($rows2); while($rows2=mysql_fetch_assoc($ColumnNames)) { process_row($rows2); } } } function process_row($in_row) { $lowest_values_key = min(array_keys($in_row, min($in_row))); echo "<tr>"; foreach($in_row AS $key=>$value) { echo "<td style='width:67px;".(($lowest_values_key == $key) ? 'color:#ff0000;' : '' )."' >".$value." </th>"; } echo "</tr>"; } ?> в <?php $dbHost = 'localhost'; // usually localhost $dbUsername = 'xxxx'; $dbPassword = 'xxxx'; $dbDatabase = 'xxxx'; $db = mysql_connect($dbHost, $dbUsername, $dbPassword) or die ("Unable to connect to Database Server."); mysql_select_db ($dbDatabase, $db) or die ("Could not select database."); $ColumnNames = mysql_query("SELECT GROUP_CONCAT(CONCAT('`', column_name, '`')) AS some_columns FROM information_schema.COLUMNS WHERE table_name = 'supplierprice' AND column_name NOT IN ('supp_price_id', 'region', 'country', 'net_id', 'networkname', 'mcc', 'mnc', 'mnp')") or die("mysql error"); if($rows=mysql_fetch_array($ColumnNames)) { $sql = "SELECT ".$row['some_columns']." FROM supplierprice"; $query_values = mysql_query($sql); if($rows2=mysql_fetch_assoc($ColumnNames)) { echo "<tr>"; foreach($rows2 AS $key=>$value) { echo "<th style='width:67px;' >".$key." </th>"; } echo "</tr>"; process_row($rows2); while($rows2=mysql_fetch_assoc($ColumnNames)) { process_row($rows2); } } } function process_row($in_row) { $lowest_values_key = min(array_keys($in_row, min($in_row))); echo "<tr>"; foreach($in_row AS $key=>$value) { echo "<td style='width:67px;".(($lowest_values_key == $key) ? 'color:#ff0000;' : '' )."' >".$value." </th>"; } echo "</tr>"; } ?>