За последние 24 часа нас посетили 24203 программиста и 1746 роботов. Сейчас ищут 1755 программистов ...

Учусь на примерах

Тема в разделе "Сделайте за меня", создана пользователем BadStealth, 3 мар 2015.

  1. BadStealth

    BadStealth Новичок

    С нами с:
    3 мар 2015
    Сообщения:
    4
    Симпатии:
    0
    Ребят огромная просьба помочь.
    Вобщем начал изучение PHP ну и решил как всегда на практике учиться. Взял пример калькулятора ну и изменил его как надо было мне. Но понять не могу как сделать так чтобы он результат выводил не отдельно от формы а снизу нее. Хотел до кучи прикрутить AJAX, но это другой вопрос.
    Помогите исправить код для вывода результата в одной форме!
    Код (Text):
    1. <?php
    2. // объявляем класс калькулятор
    3. class calculator
    4. {
    5.     // отображение калькулятора на экране
    6.     public function ShowCalculatorForm()
    7.     {
    8.         ?>
    9.         <style type="text/css">
    10.         div:before{
    11.                 content:attr(title);
    12.                 display:none;
    13.         }
    14.         div:hover{
    15.                 z-index:10;
    16.                 position:relative;
    17.         }
    18.         .tablestyle {
    19.             border-color: #1F707A;
    20.             border-width: thick;
    21.         }
    22.         </style>
    23.  
    24.         <form method="post">
    25.         <b>Сектор доставки</b><br /><br />
    26.         <table border="1" class="tablestyle">
    27.         <tr>
    28.             <td width="200">
    29.                 <select style="width:100%; text-align:center;" name="sector_dostavki">
    30.                     <option>1</option>
    31.                     <option>2</option>
    32.                     <option>3</option>
    33.                     <option>0</option>
    34.                 </select>
    35.             </td>
    36.         </tr>
    37.         </table> <br />
    38.        
    39.                <b>Вид материала</b><br /><br />
    40.         <table border="1" class="tablestyle">
    41.         <tr>
    42.             <td width="200">
    43.                 <select style="width:100%; text-align:center;" name="vid_materiala">
    44.                     <option>песок</option>
    45.                     <option>гравий</option>
    46.                     <option>очистка</option>
    47.                     <option>выберите материал</option>
    48.                 </select>
    49.             </td>
    50.         </tr>
    51.         </table> <br />
    52.  
    53.         <b>Количестко кубов</b><br /><br />
    54.         <table border="1" class="tablestyle">
    55.         <tr>
    56.                     <td width="200">
    57.                         <input style="width:100%; text-align:center;" name="obiem" type="text" size="10" maxlength="30" placeholder="Не более 90"/>
    58.                     </td>
    59.         </tr>
    60.         </table> <br />
    61.  
    62.         <input type="submit" value="Рассчитать" />
    63.         </form>
    64.         <?php
    65.     }
    66.  
    67.     // метод рассчитывающий стоимость отправки груза
    68.     public function CalculateResult()
    69.     {
    70.         $sector_dostavki = $_POST['sector_dostavki'];
    71.         $vid_materiala = $_POST['vid_materiala'];
    72.         $obiem = $_POST['obiem'];
    73.  
    74.         $resultat = 0;
    75.         $coethicient = 0;
    76.  
    77.         if($sector_dostavki == 0)
    78.             echo "Вы не выбрали сектрок </br>";
    79.                    else if($vid_materiala == "выберите материал")
    80.             echo "Вы не выбрали материал </br>";
    81.                    else if($obiem <= 19)
    82.             echo "Укажите объем более 20м<sup>3</sup> </br>";
    83.         else
    84.         {
    85.             echo "Сектор доставки: ".$sector_dostavki.'<br />';
    86.             echo "Вид материала: ".$vid_materiala.'<br />';
    87.             echo "Объем: ".$obiem.'<br />';
    88.  
    89.             //echo "<br>Переменная буф: ".$buf;
    90.             //echo "<br>Переменная obiem: ".$obiem;
    91.             if($obiem >= 20)
    92.             {
    93.                 if($sector_dostavki == "1")// && $punkt_naznacheniya == "Астрахань")
    94.                     $coethicient = 1000;
    95.                 else if($sector_dostavki == "2")// && $punkt_naznacheniya == "Москва")
    96.                     $coethicient = 2000;
    97.                 else if($sector_dostavki == "3")// && $punkt_naznacheniya == "Волгоград")
    98.                     $coethicient = 3000;
    99.  
    100.                 $resultat = $obiem * $coethicient;
    101.             }
    102.            
    103.             if($obiem >= 20)
    104.             {
    105.                 if($vid_materiala == "песок")// && $punkt_naznacheniya == "Астрахань")
    106.                     $coethicient = 1;
    107.                 else if($vid_materiala == "гравий")// && $punkt_naznacheniya == "Москва")
    108.                     $coethicient = 2;
    109.                 else if($vid_materiala == "очистка")// && $punkt_naznacheniya == "Волгоград")
    110.                     $coethicient = 3;
    111.  
    112.                 $resultat = $resultat * $coethicient;
    113.             }
    114.  
    115.  
    116.             echo "<br><br> Результат: ".$resultat;
    117.         }
    118.     }
    119.  
    120.     public function ExecuteCalculator()
    121.     {
    122.         if(isset($_POST['sector_dostavki']))
    123.             $this->CalculateResult();
    124.         else
    125.             $this->ShowCalculatorForm();
    126.     }
    127. }
    128.  
    129. $calc = new calculator();
    130. $calc->ExecuteCalculator();
    131. ?>
    Ребят только огромная просьба не критиковать! Критику принимаю адекватно- но сами понимаете учение без вопросов не проходит. Да и не все сразу научились!
     
  2. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    Код (PHP):
    1. public function ExecuteCalculator()  {
    2.  $this->ShowCalculatorForm();
    3.  if (isset($_POST['sector_dostavki'])) {
    4.   $this->CalculateResult();
    5.  }
    6. }
    7.  
     
  3. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    самый ужасный пример... советую переделать и разделить php, css и html.. Это будет грамотнее..
     
  4. BadStealth

    BadStealth Новичок

    С нами с:
    3 мар 2015
    Сообщения:
    4
    Симпатии:
    0
    Ребят все разделил! Посмотрите плиз. И подскажите как AJAX подключить для вывода результатов- ато ужесно бесит что страничка постоянно перезагружается.
    Код (Text):
    1.         <style type="text/css">
    2.         div:before{
    3.                 content:attr(title);
    4.                 display:none;
    5.         }
    6.         div:hover{
    7.                 z-index:10;
    8.                 position:relative;
    9.         }
    10.         .tablestyle {
    11.             border-color: #1F707A;
    12.             border-width: thick;
    13.         }
    14.         </style>
    15.  
    16.         <form method="post">
    17.         <b>Сектор доставки</b><br /><br />
    18.         <table border="1" class="tablestyle">
    19.         <tr>
    20.             <td width="200">
    21.                 <select style="width:100%; text-align:center;" name="sector_dostavki">
    22.                     <option>1</option>
    23.                     <option>2</option>
    24.                     <option>3</option>
    25.                     <option>0</option>
    26.                 </select>
    27.             </td>
    28.         </tr>
    29.         </table> <br />
    30.        
    31.                <b>Вид материала</b><br /><br />
    32.         <table border="1" class="tablestyle">
    33.         <tr>
    34.             <td width="200">
    35.                 <select style="width:100%; text-align:center;" name="vid_materiala">
    36.                     <option>песок</option>
    37.                     <option>гравий</option>
    38.                     <option>очистка</option>
    39.                     <option>выберите материал</option>
    40.                 </select>
    41.             </td>
    42.         </tr>
    43.         </table> <br />
    44.  
    45.         <b>Количестко кубов</b><br /><br />
    46.         <table border="1" class="tablestyle">
    47.         <tr>
    48.                     <td width="200">
    49.                         <input style="width:100%; text-align:center;" name="obiem" type="text" size="10" maxlength="30" placeholder="Не более 90"/>
    50.                     </td>
    51.         </tr>
    52.         </table> <br />
    53.  
    54.         <input type="submit" value="Рассчитать" />
    55.         </form>
    56.        
    57.        
    58. <?php
    59.  $sector_dostavki = isset($_POST['sector_dostavki']) ? $_POST['sector_dostavki'] : 'sector_dostavki';
    60.  if(!isset($_GET['sector_dostavki']))
    61.     $_GET['sector_dostavki'] = 'sector_dostavki';
    62.  
    63.     // метод рассчитывающий стоимость отправки груза
    64.  $sector_dostavki = isset($_POST['sector_dostavki']) ? $_POST['sector_dostavki'] : 'sector_dostavki';
    65.  $vid_materiala = isset($_POST['vid_materiala']) ? $_POST['vid_materiala'] : 'vid_materiala';
    66.  $obiem = isset($_POST['obiem']) ? $_POST['obiem'] : 'obiem';
    67.  
    68.  
    69.         $resultat = 0;
    70.         $coethicient = 0;
    71.  
    72.         if($sector_dostavki == 0)
    73.             echo "</br>Вы не выбрали сектрок </br>";
    74.                    else if($vid_materiala == "выберите материал")
    75.             echo "</br>Вы не выбрали материал </br>";
    76.                    else if($obiem <= 19)
    77.             echo "</br>Укажите объем более 20м<sup>3</sup> </br>";
    78.         else
    79.         {
    80.             echo "Сектор доставки: ".$sector_dostavki.'<br />';
    81.             echo "Вид материала: ".$vid_materiala.'<br />';
    82.             echo "Объем: ".$obiem.'<br />';
    83.  
    84.             //echo "<br>Переменная буф: ".$buf;
    85.             //echo "<br>Переменная obiem: ".$obiem;
    86.             if($obiem >= 20)
    87.             {
    88.                 if($sector_dostavki == "1")// && $punkt_naznacheniya == "Астрахань")
    89.                     $coethicient = 1000;
    90.                 else if($sector_dostavki == "2")// && $punkt_naznacheniya == "Москва")
    91.                     $coethicient = 2000;
    92.                 else if($sector_dostavki == "3")// && $punkt_naznacheniya == "Волгоград")
    93.                     $coethicient = 3000;
    94.  
    95.                 $resultat = $obiem * $coethicient;
    96.             }
    97.            
    98.             if($obiem >= 20)
    99.             {
    100.                 if($vid_materiala == "песок")// && $punkt_naznacheniya == "Астрахань")
    101.                     $coethicient = 1;
    102.                 else if($vid_materiala == "гравий")// && $punkt_naznacheniya == "Москва")
    103.                     $coethicient = 2;
    104.                 else if($vid_materiala == "очистка")// && $punkt_naznacheniya == "Волгоград")
    105.                     $coethicient = 3;
    106.  
    107.                 $resultat = $resultat * $coethicient;
    108.             }
    109.  
    110.  
    111.             echo "<br><br> Результат: ".$resultat;
    112.         }
    113. ?> 
    Кстате у нас в совхозе так нам с отцом будет легче и быстрее считать куда и что возить надо. Ато сидим порой как идиоты на карту нашу смотрим и думаем. А так раз и все! СПС за помощь!
     
  5. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    и правильнее когда в начале выполняется серверная часть (php+mysql), и возвращается клиентская часть (js, css, html)
     
  6. BadStealth

    BadStealth Новичок

    С нами с:
    3 мар 2015
    Сообщения:
    4
    Симпатии:
    0
    Ребят с AJAX помогите пож. Как его прикрутить чтобы вывод результатов сделать?
     
  7. runcore

    runcore Старожил

    С нами с:
    12 окт 2012
    Сообщения:
    3.625
    Симпатии:
    158
    какие все нежные стали))
    как народ жил до аякса
     
  8. BadStealth

    BadStealth Новичок

    С нами с:
    3 мар 2015
    Сообщения:
    4
    Симпатии:
    0
    Я просто все примеры перерыл а самому не получается никак!
    Вот и прошу помочь.