Основная помощь php формы (2) - PullRequest
       11

Основная помощь php формы (2)

0 голосов
/ 04 декабря 2008

Это продолжение вопроса, который у меня был вчера.

Я пытаюсь сделать небольшой 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 ]

1 голос
/ 04 декабря 2008

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.
}
1 голос
/ 04 декабря 2008

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

Тебе нужно где-нибудь сделать математику. Предположительно, вы сделали бы это перед оператором echo, в котором вы выводите строку.

$offerwithsavings = $monthlybill - $offercalcsavings

Тогда просто обязательно включите его в свою таблицу где-нибудь.

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

Реальным рецептом этого кода является цикл с массивом и циклом foreach (), но я подумал, что пока оставлю свой ответ простым Массивы и циклы foreach () очень мощные, относительно быстрые и простые в изучении. Вы бы хорошо, чтобы дать им немного углубленного изучения.

1 голос
/ 04 декабря 2008

Вы можете включить файл 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>'; 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...