我有这个简单的定价表。我想插入另外两列,显示列 $ przoff 中的MIN和MAX值。 这是一个截图,显示了列的外观:
<?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++; } ?>
答案 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++;
}
?>
唯一的区别是最小值和最大值初始化。