PHP - 如何显示具有最小 - 最大值的列

时间:2013-03-15 12:45:55

标签: php

我有这个简单的定价表。我想插入另外两列,显示列 $ przoff 中的MIN和MAX值。 这是一个截图,显示了列的外观:

enter image description here

<?php
$i=0;
while ($i < $num) {

    $cod=mysql_result($result,$i,"cod_int");
    $name=mysql_result($result,$i,"nome");
    $conf=mysql_result($result,$i,"conf");
    $type=mysql_result($result,$i,"tipo");
    $cconf=mysql_result($result,$i,"cost");
    $cunit=mysql_result($result,$i,"costo_prod");
    $incqta=mysql_result($result,$i,"incid_qta");

    $inconf=($cconf*$incqta/100)+($cunit*$incqta/100);

    if ($cunit > 0 && $cunit <= 0.2500) {
        $incprd=$cunit*10/100; }
    elseif ($cunit > 0.2500 && $cunit <= 0.5000) {
        $incprd=$cunit*5/100; }
    else {
        $incprd=0; }

    $przoff=($cconf+$cunit+$inconf+$incprd);
?>

<tr>
/* TABLE CONTENT */
</tr>

<?php $i++; } ?>

1 个答案:

答案 0 :(得分:0)

在使用相同的过程打印表之前查找最小值和最大值。然后打印在表格中。

流程1:

<?php
$i = 0;
while ($i < $num) {
    $cunit  = mysql_result($result, $i, "costo_prod");
    $incqta = mysql_result($result, $i, "incid_qta");

    $inconf = ($cconf * $incqta / 100) + ($cunit * $incqta / 100);

    if ($cunit > 0 && $cunit <= 0.2500) {
        $incprd = $cunit * 10 / 100;
    } elseif ($cunit > 0.2500 && $cunit <= 0.5000) {
        $incprd = $cunit * 5 / 100;
    } else {
        $incprd = 0;
    }

    $przoff = ($cconf + $cunit + $inconf + $incprd);

    if ($i == 0) {
        $min_val = $przoff;
        $max_val = $przoff;
    } else {
        if ($przoff < $min_val) {
            $min_val = $przoff;
        }
        if ($przoff > $max_val) {
            $max_val = $przoff;
        }
    }
    ?>


    <?php
    $i++;
}

$i = 0;
while ($i < $num) {

    $cod    = mysql_result($result, $i, "cod_int");
    $name   = mysql_result($result, $i, "nome");
    $conf   = mysql_result($result, $i, "conf");
    $type   = mysql_result($result, $i, "tipo");
    $cconf  = mysql_result($result, $i, "cost");
    $cunit  = mysql_result($result, $i, "costo_prod");
    $incqta = mysql_result($result, $i, "incid_qta");

    $inconf = ($cconf * $incqta / 100) + ($cunit * $incqta / 100);

    if ($cunit > 0 && $cunit <= 0.2500) {
        $incprd = $cunit * 10 / 100;
    } elseif ($cunit > 0.2500 && $cunit <= 0.5000) {
        $incprd = $cunit * 5 / 100;
    } else {
        $incprd = 0;
    }

    $przoff  = ($cconf + $cunit + $inconf + $incprd);
    $min_val = $min_val;
    $max_val = $max_val;
    ?>

    <tr>
        /* TABLE CONTENT */
    </tr>

    <?php
    $i++;
}
?>

流程2:

<?php
$min_val = "";
$max_val = "";

$i = 0;
while ($i < $num) {

    $cunit  = mysql_result($result, $i, "costo_prod");
    $incqta = mysql_result($result, $i, "incid_qta");

    $inconf = ($cconf * $incqta / 100) + ($cunit * $incqta / 100);

    if ($cunit > 0 && $cunit <= 0.2500) {
        $incprd = $cunit * 10 / 100;
    } elseif ($cunit > 0.2500 && $cunit <= 0.5000) {
        $incprd = $cunit * 5 / 100;
    } else {
        $incprd = 0;
    }

    $przoff = ($cconf + $cunit + $inconf + $incprd);

    if ($przoff < $min_val || empty($min_val)) {
        $min_val = $przoff;
    }
    if ($przoff > $max_val || empty($max_val)) {
        $max_val = $przoff;
    }
    ?>


    <?php
    $i++;
}

$i = 0;
while ($i < $num) {

    $cod    = mysql_result($result, $i, "cod_int");
    $name   = mysql_result($result, $i, "nome");
    $conf   = mysql_result($result, $i, "conf");
    $type   = mysql_result($result, $i, "tipo");
    $cconf  = mysql_result($result, $i, "cost");
    $cunit  = mysql_result($result, $i, "costo_prod");
    $incqta = mysql_result($result, $i, "incid_qta");

    $inconf = ($cconf * $incqta / 100) + ($cunit * $incqta / 100);

    if ($cunit > 0 && $cunit <= 0.2500) {
        $incprd = $cunit * 10 / 100;
    } elseif ($cunit > 0.2500 && $cunit <= 0.5000) {
        $incprd = $cunit * 5 / 100;
    } else {
        $incprd = 0;
    }

    $przoff  = ($cconf + $cunit + $inconf + $incprd);
    $min_val = $min_val;
    $max_val = $max_val;
    ?>

    <tr>
        /* TABLE CONTENT */
    </tr>

    <?php
    $i++;
}
?>

唯一的区别是最小值和最大值初始化。