我已经从下面的数据库中打印了表格 我的代码
print "<form id='form1' name='form1' method='post' action='http://localhost/live/index.php?m=sync&a=update'>";
while($db_field = mysql_fetch_assoc($result))
{
print "<table border=1 width=100%>";
print "<tr><td width=5%><input name='taskid' type='text' value=".$db_field['task_id']." readonly=readonly></td>";
/*print "<td width=10%>".$db_field['task_name']."</td>";*/
print "<td width=5%><input name='percent' type='text' value=".$db_field['task_percent_complete']." readonly=readonly></td>";
print "</table>";
}
print "<input name='Sync' type='submit' value='Sync' id='Sync' />";
print "</form>";
mysql_close($db_handle); /*.$db_handle */ /*<---to check the resource link and id*/
}
else{
print"Failed" ;//.$db_handle;
所以我想知道如何将数据库中的所有数据解析到另一个页面,就像我要发送的动作一样,因为现在我只需要解析1个表中的1个数据,当我点击下面的同步按钮是我的在另一个页面中解析代码 下图是解析代码
我不知道如何在新页面中显示所有数据...需要使用循环吗?我是新手,非常感谢
答案 0 :(得分:2)
对于初学者,在第一个代码中,将print "<table border=1 width=100%>";
和print "</table>";
部分移到while
循环之外,因为该表生成两次作为两个单独的表。
当前代码发生的情况是,第二对字段taskid
和percent
会覆盖第一对字段,因为名称相同,因此您只能看到second pair of values屏幕截图。您需要使输入字段名称为数组:在名称中放置方括号[]
,以便taskid
和percent
自动在{{1}中进行数组排列}。这就是HTML源代码在表单中的样子:
$_POST
(或者手动将它们下标为<input name='taskid[]' type='text' ...>
<input name='percent[]' type='text' ...>
,taskid_0
和percent_0
,taskid_1
;但是您必须决定何时停止循环或使用变量变量。)
之后,在您正在处理percent_1
的目标网页中,它将是一个数组,您可以$_POST["taskid"]
,$_POST["taskid"][0]
和$_POST["percent"][0]
,{{ 1}}。因此,在更新数据库并生成第二个html时循环执行:
$_POST["taskid"][1]
希望有所帮助。
一些指示:1。不要放置代码图片,只需粘贴代码即可。 2.生成的HTML复制粘贴(浏览器 - &gt;视图源)比页面图像更有用。
版本1:
1。如果我理解正确,您希望在一个页面上显示该表单,并且当用户点击您想要的$_POST["percent"][1]
(print_r($_POST["taskid"]); // verify that this is an array
print_r($_POST["percent"]); // also an array
$i=0;
foreach ($_POST["taskid"] as $t) {
// not using $t, that's just for looping convenience
// do sql insert/update here, i'm just showing how you'd loop the array
print "<td><input type='text' name='".$_POST["taskid"][$i]."' readonly=readonly></td>";
print "<td><input type='text' name='".$_POST["percent"][$i]."' readonly=readonly></td>";
$i++;
}
)时它要转到另一个处理表单的页面?
使用target
attribute of the <form>
element(链接)。像:
Sync
或者,
2。如果您想首先处理表单(同一页面)并将用户发送到另一个页面:
使用以下方法处理页面后,您还可以set the redirect in your HTML
sumbit