在同一页面显示计算结果

时间:2010-06-01 08:45:55

标签: php javascript css ajax calculator

我的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 个答案:

答案 0 :(得分:1)

如果您想在客户端使用PHP,可以使用Javascript,如果您想在服务器端使用PHP,则可以使用PHP。从你的问题我想你想在服务器端。

只需将表单提交到同一页面:action = "your_page.php"。 测试页面是否通过表单提交,然后在计算结果后显示结果(包含结果的表格),当然。否则就像现在一样显示页面。

使用JavaScript,您可以使用DOM在您想要结果的地方选择精确的td,并在通过JavaScript计算结果后将其显示在那里。

第三个选项.. ajax,具有可以实时计算结果的优势(无需按下提交按钮)。

在使用其中一种方法之前,你必须先决定你想要什么,每种方法都有一些优点和缺点。

答案 1 :(得分:0)

你可以用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的值发布到calculate.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