Ребят огромная просьба помочь. Вобщем начал изучение PHP ну и решил как всегда на практике учиться. Взял пример калькулятора ну и изменил его как надо было мне. Но понять не могу как сделать так чтобы он результат выводил не отдельно от формы а снизу нее. Хотел до кучи прикрутить AJAX, но это другой вопрос. Помогите исправить код для вывода результата в одной форме! Код (Text): <?php // объявляем класс калькулятор class calculator { // отображение калькулятора на экране public function ShowCalculatorForm() { ?> <style type="text/css"> div:before{ content:attr(title); display:none; } div:hover{ z-index:10; position:relative; } .tablestyle { border-color: #1F707A; border-width: thick; } </style> <form method="post"> <b>Сектор доставки</b><br /><br /> <table border="1" class="tablestyle"> <tr> <td width="200"> <select style="width:100%; text-align:center;" name="sector_dostavki"> <option>1</option> <option>2</option> <option>3</option> <option>0</option> </select> </td> </tr> </table> <br /> <b>Вид материала</b><br /><br /> <table border="1" class="tablestyle"> <tr> <td width="200"> <select style="width:100%; text-align:center;" name="vid_materiala"> <option>песок</option> <option>гравий</option> <option>очистка</option> <option>выберите материал</option> </select> </td> </tr> </table> <br /> <b>Количестко кубов</b><br /><br /> <table border="1" class="tablestyle"> <tr> <td width="200"> <input style="width:100%; text-align:center;" name="obiem" type="text" size="10" maxlength="30" placeholder="Не более 90"/> </td> </tr> </table> <br /> <input type="submit" value="Рассчитать" /> </form> <?php } // метод рассчитывающий стоимость отправки груза public function CalculateResult() { $sector_dostavki = $_POST['sector_dostavki']; $vid_materiala = $_POST['vid_materiala']; $obiem = $_POST['obiem']; $resultat = 0; $coethicient = 0; if($sector_dostavki == 0) echo "Вы не выбрали сектрок </br>"; else if($vid_materiala == "выберите материал") echo "Вы не выбрали материал </br>"; else if($obiem <= 19) echo "Укажите объем более 20м<sup>3</sup> </br>"; else { echo "Сектор доставки: ".$sector_dostavki.'<br />'; echo "Вид материала: ".$vid_materiala.'<br />'; echo "Объем: ".$obiem.'<br />'; //echo "<br>Переменная буф: ".$buf; //echo "<br>Переменная obiem: ".$obiem; if($obiem >= 20) { if($sector_dostavki == "1")// && $punkt_naznacheniya == "Астрахань") $coethicient = 1000; else if($sector_dostavki == "2")// && $punkt_naznacheniya == "Москва") $coethicient = 2000; else if($sector_dostavki == "3")// && $punkt_naznacheniya == "Волгоград") $coethicient = 3000; $resultat = $obiem * $coethicient; } if($obiem >= 20) { if($vid_materiala == "песок")// && $punkt_naznacheniya == "Астрахань") $coethicient = 1; else if($vid_materiala == "гравий")// && $punkt_naznacheniya == "Москва") $coethicient = 2; else if($vid_materiala == "очистка")// && $punkt_naznacheniya == "Волгоград") $coethicient = 3; $resultat = $resultat * $coethicient; } echo "<br><br> Результат: ".$resultat; } } public function ExecuteCalculator() { if(isset($_POST['sector_dostavki'])) $this->CalculateResult(); else $this->ShowCalculatorForm(); } } $calc = new calculator(); $calc->ExecuteCalculator(); ?> Ребят только огромная просьба не критиковать! Критику принимаю адекватно- но сами понимаете учение без вопросов не проходит. Да и не все сразу научились!
Код (PHP): public function ExecuteCalculator() { $this->ShowCalculatorForm(); if (isset($_POST['sector_dostavki'])) { $this->CalculateResult(); } }
Ребят все разделил! Посмотрите плиз. И подскажите как AJAX подключить для вывода результатов- ато ужесно бесит что страничка постоянно перезагружается. Код (Text): <style type="text/css"> div:before{ content:attr(title); display:none; } div:hover{ z-index:10; position:relative; } .tablestyle { border-color: #1F707A; border-width: thick; } </style> <form method="post"> <b>Сектор доставки</b><br /><br /> <table border="1" class="tablestyle"> <tr> <td width="200"> <select style="width:100%; text-align:center;" name="sector_dostavki"> <option>1</option> <option>2</option> <option>3</option> <option>0</option> </select> </td> </tr> </table> <br /> <b>Вид материала</b><br /><br /> <table border="1" class="tablestyle"> <tr> <td width="200"> <select style="width:100%; text-align:center;" name="vid_materiala"> <option>песок</option> <option>гравий</option> <option>очистка</option> <option>выберите материал</option> </select> </td> </tr> </table> <br /> <b>Количестко кубов</b><br /><br /> <table border="1" class="tablestyle"> <tr> <td width="200"> <input style="width:100%; text-align:center;" name="obiem" type="text" size="10" maxlength="30" placeholder="Не более 90"/> </td> </tr> </table> <br /> <input type="submit" value="Рассчитать" /> </form> <?php $sector_dostavki = isset($_POST['sector_dostavki']) ? $_POST['sector_dostavki'] : 'sector_dostavki'; if(!isset($_GET['sector_dostavki'])) $_GET['sector_dostavki'] = 'sector_dostavki'; // метод рассчитывающий стоимость отправки груза $sector_dostavki = isset($_POST['sector_dostavki']) ? $_POST['sector_dostavki'] : 'sector_dostavki'; $vid_materiala = isset($_POST['vid_materiala']) ? $_POST['vid_materiala'] : 'vid_materiala'; $obiem = isset($_POST['obiem']) ? $_POST['obiem'] : 'obiem'; $resultat = 0; $coethicient = 0; if($sector_dostavki == 0) echo "</br>Вы не выбрали сектрок </br>"; else if($vid_materiala == "выберите материал") echo "</br>Вы не выбрали материал </br>"; else if($obiem <= 19) echo "</br>Укажите объем более 20м<sup>3</sup> </br>"; else { echo "Сектор доставки: ".$sector_dostavki.'<br />'; echo "Вид материала: ".$vid_materiala.'<br />'; echo "Объем: ".$obiem.'<br />'; //echo "<br>Переменная буф: ".$buf; //echo "<br>Переменная obiem: ".$obiem; if($obiem >= 20) { if($sector_dostavki == "1")// && $punkt_naznacheniya == "Астрахань") $coethicient = 1000; else if($sector_dostavki == "2")// && $punkt_naznacheniya == "Москва") $coethicient = 2000; else if($sector_dostavki == "3")// && $punkt_naznacheniya == "Волгоград") $coethicient = 3000; $resultat = $obiem * $coethicient; } if($obiem >= 20) { if($vid_materiala == "песок")// && $punkt_naznacheniya == "Астрахань") $coethicient = 1; else if($vid_materiala == "гравий")// && $punkt_naznacheniya == "Москва") $coethicient = 2; else if($vid_materiala == "очистка")// && $punkt_naznacheniya == "Волгоград") $coethicient = 3; $resultat = $resultat * $coethicient; } echo "<br><br> Результат: ".$resultat; } ?> Кстате у нас в совхозе так нам с отцом будет легче и быстрее считать куда и что возить надо. Ато сидим порой как идиоты на карту нашу смотрим и думаем. А так раз и все! СПС за помощь!
и правильнее когда в начале выполняется серверная часть (php+mysql), и возвращается клиентская часть (js, css, html)