Показать результаты расчета на той же странице - PullRequest
0 голосов
/ 01 июня 2010

У меня есть таблица в моем php-коде. Во втором столбце таблицы обычно отображается «---», и после того, как я нажму кнопку «Отправить», он отобразит результат расчета на той же странице.

Например,

<table>
<tr><td>1</td><td>---</td></tr>
<tr><td>2</td><td>---</td></tr>
<tr><td>3</td><td>---</td></tr>
</table>

И на той же странице он должен получить переменные

$ var1 = $ _POST ['variable1'];

Я не уверен, какой способ использовать, ajax или javascript или просто css?

У вас есть идеи?

Спасибо

Ответы [ 2 ]

1 голос
/ 01 июня 2010

Вы можете использовать Javascript, если вы хотите использовать вычисления на стороне клиента, PHP, если вы хотите его на стороне сервера. От вашего вопроса, я думаю, вы хотите, чтобы он на стороне сервера.

Просто отправьте форму на ту же страницу: action = "your_page.php". Проверьте, отправлена ​​ли страница через вашу форму, затем отобразите результаты (таблицу с результатами), после того как вы их вычислите, конечно. В противном случае отобразите страницу как сейчас.

С помощью JavaScript вы можете использовать DOM, чтобы выбрать именно то значение, в котором вы хотите получить результаты, и отобразить их там, после того, как рассчитаете их с помощью JavaScript.

Третий вариант .. ajax обладает тем преимуществом, что может рассчитывать результаты в режиме реального времени (без нажатия кнопки отправки).

Вы должны решить, что хотите, прежде чем использовать один из методов, каждый из которых имеет свои преимущества и недостатки.

0 голосов
/ 01 июня 2010

Вы можете достичь этого только с помощью php и css, но ajax сделает это гладким. Я бы использовал JSON для анализа данных из .js в .php и обратно. JQuery делает это действительно легко (используя $.post)

$(document).ready(function() {
$.post('calculate.php', { value: $('td') }, //posts value to php
 function(data) {
  if(data.success) {
   alert(data.result); //gets the value $result from php
  }
 else {
  alert('error');
 }
}, 'json');
});

это отправит значение td в calc.php, которое может вычислять и выводить данные JSON

$value = $_POST['value'];//assign value from js to $value
.....
$data['success'] = true; //there was no error
$data['result'] = $result; //where $result is calculated within php
echo json_encode($data);

вы можете передать как можно больше переменных между файлами js и php. Вы даже можете оживить свои результаты.

эти ссылки могут помочь

http://davidwalsh.name/animated-ajax-jquery

http://www.9lessons.info/2009/08/jquery-and-ajax-best-demos-part-3.html

http://www.noupe.com/ajax/30-fresh-ajax-tutorials-and-techniques.html

...