基本的php表单帮助(2)

时间:2008-12-04 17:18:26

标签: php forms

这是我昨天提出的问题的延伸。

我正在尝试制作一个小型的PHP计算器,以显示如果他们切换到VoIP,人们可以节省多少电话费,以及他们可以节省多少费用。

我有一个表格会在这里为每月账单吐出适当的金额:

http://www.nextadvisor.com/voip_services/voip_calculator.php?monthlybill=50&Submit=Submit

但现在我需要将其与其他一些数据集成并放入表格中。每种不同服务的价格都在另一个名为“values.php”的文件中。值为:

 $offer1calcsavings="24.99";
 $offer2calcsavings="20.00";
 $offer3calcsavings="21.95";
 $offer4calcsavings="23.95";
 $offer5calcsavings="19.95";
 $offer6calcsavings="23.97";
 $offer7calcsavings="24.99";

我希望表格的七行中的每一行都有一个从月结单值中减去的offercalcsavings值。

php代码目前看起来像这样:

  <?php $monthlybill = $_GET['monthlybill']; ?>

 Your monthly bill was <?php echo "$monthlybill"; ?>

   <?php
 $monthybill="monthlybill";
   $re=1;
   $offer ='offer'.$re.'name';
 $offername= ${$offer};
   while($offername!=""){
     $offerlo ='offer'.$re.'logo';
     $offerlogo=${$offerlo};
    $offerli ='offer'.$re.'link';
    $offerlink=${$offerli};
$offeran ='offer'.$re.'anchor';
$offeranchor=${$offeran};
$offerst ='offer'.$re.'star1';
$offerstar=${$offerst};
$offerbot='offer'.$re.'bottomline';
$offerbottomline=${$offerbot};
$offerca ='offer'.$re.'calcsavings';
$offercalcsavings=${$offerca};

echo '<tr >
     <td >
 <a href="'.$offerlink.'" target="blank">
 <img src="http://www.nextadvisor.com'.$offerlogo.'" alt="'.$offername.'" />
 </a>
 </td>
<td ><span class="rating_text">Rating:</span>
 <span class="star_rating1">
 <img src="http://www.nextadvisor.com'.$offerstar.'" alt="" />
 </span><br />
  <div style="margin-top:5px; color:#0000FF;">
 <a href="'.$offerlink.'" target="blank">Go to Site</a>
 <span style="margin:0px 7px 0px 7px;">|</span>
 <a href="'.$offeranchor.'">Review</a>
 </div> </td>
<td >'.$offercalcsavings.'</td>


   </tr>';
   $re=$re+1;
   $offer ='offer'.$re.'name';
 $offername= ${$offer};

   }
   ?>

3 个答案:

答案 0 :(得分:1)

您可以像这样包含values.php文件:

include 'path/to/values.php';

如果将values.php中的值放在数组中,可以使用foreach循环轻松遍历它们:
在values.php;

$values['1calsavings'] = 24.99;
$values['2calsavings'] = 20.00;
etc;

然后在另一个文件中:

include 'path/to/values.php';
foreach($values as $name => $amount){
 echo '<some_markup>';
 echo "$name $amount";
 echo '</some_markup>'; 
}

答案 1 :(得分:1)

Egads。

使用数组!

所以:

$offercalcsavings[0] = "24.99";  
$offercalcsavings[1] = "20.00";  
etc. etc.

然后,你真正循环输出:

for($i = 0; $i < CONSTANT_THAT_EQUALS_7; $i++) {
    echo "<html bits>";
    echo $offercalcsavings[$i];
    echo $offerlink[$i];
    etc. etc.
}

答案 2 :(得分:1)

  

我想要七行中的每一行   表有一个   减去offercalcsavings值   来自月结单价值。

你需要在某处做数学运算。大概你会在输出行的echo语句之前执行此操作。

$offerwithsavings = $monthlybill - $offercalcsavings

然后一定要把它包含在你的桌子里。

<td >'.$offerwithsavings.'</td>

这段代码的真正处方是数组和foreach()循环,但我想我现在的答案很简单。数组和foreach()循环非常强大,相对快速且易于学习。你最好给他们一些深入的研究。