我的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?
你有什么想法吗?
谢谢
答案 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