在php和javascript之间共享变量

时间:2012-04-12 07:50:14

标签: php javascript html iframe

以下是我的工作:

  1. 包含两个iframe

  2. 首先,表格会询问用户名和地址,并有一个“添加”按钮。

  3. 单击“添加”后,此信息将添加到mysql数据库中,并再次显示该表单,并显示一条消息,表明您的信息已插入数据库。

  4. 在第二个iframe中有一些有趣的东西。它将在表中显示数据库中的所有用户。在后台,php函数将定期检查以某个间隔(例如5秒)添加到数据库的新用户,如果在MySQL DB中找到任何新行(不在HTML iframe的表中),它将被添加到HTML iframe页面中的表格(可能使用javascript函数)。

  5. 我已完成前3个步骤。请帮我第4步。我想使用PHP和Javascript。

2 个答案:

答案 0 :(得分:0)

使用AJAX - 获取新行或所有行。然后把它写在数据库中。

示例(使用jQuery - 没有JSON驱动的数据传输):

1,getData.php

$dbData = array(); // YOUR DB DATA HERE
$output = "";
foreach ($dbData as $row) {
   $output .= "<tr><td>{$row['name']}</td><td>{$row['email']}</td></tr>";
}
echo $output;
2a,JS代码(使用jQuery - 从数据库下载整个表)

function autoRefresh() {
   $.get('getData.php', null, function(data){
       $("#myUltimateTable tbody").html(data);
   }, 'text');
   setTimeout("autoRefresh();", 5000);
}

2b,JS代码(使用jQuery - 只从数据库下载新行)

function autoRefresh() {
   $.get('getData.php', null, function(data){
       $("#myUltimateTable tbody").append(data);
   }, 'text');
   setTimeout("autoRefresh();", 5000);
}

答案 1 :(得分:0)

尝试创建隐藏文本框并将php变量值分配给该文本框,而不是通过执行

来访问该值
document.getElementById('id_of_textbox').value;

或者您可以在iframe中访问iframe中的HTML元素:

top.frame_name.document.getElementById('id_of_textbox').value;