【发布时间】:2015-04-16 21:24:48
【问题描述】:
我正在将 xml 文件中的数据加载到 html 表中,然后在末尾添加一个复选框列,以保存选中复选框的每一行的数据,现在我只想显示选中复选框的行。
在我的第一页中,我有下面的代码,它成功地将 xml 数据加载到 html 表中并按我的意愿显示,请原谅我的代码,因为我是 PHP 新手,所以有点混乱。
<?php
<form method="POST" action="saved.php">
echo "<input type='submit' name='save' value='Save Checked Rows' />";
$all = simplexml_load_file('list.xml');
echo "<div style='height:200px; overflow-y: scroll;'>";
echo "<table border=\"1\">";
echo "<th>Title</th><th>Description</th><th>Link</th><th>Save</th>\n";
echo "<tr>";
$c=0;
foreach ($all as $current) {
$title=$current->title;
$description=$current->description;
$link=$current->link;
echo "<td>{$title}</td><td>{$description}</td><td><a href=$link>$link</a></td><td><input type='checkbox' name='save[]' value='$c' /></td>";
$c++;
echo "</tr>\n"; }
echo "</table>";
echo "</div>";
echo "</form>"
?>
在我的第二页上,我有下面的代码,它显示了当我提交第一页时选中的每个复选框的值
<?php
Session_start();
?>
<?php
foreach($_POST['save'] as $key){
echo $key;}
}
?>
我需要从选中行的其他表格单元格中获取数据,目前唯一可行的方法是将输入输入到单元格中,但我不希望这样做,因为单元格必须是不可编辑的。感谢您的帮助!
【问题讨论】:
-
在输入中使用
readonly属性。 -
您可以再次从 XML 中获取数据。这次您不输出,而只是检查 $c 计数器是否在 $_POST['save'] 内 - 计数器代表您示例中的数据(使用 xpath 甚至可以直接访问)。
-
由于我在这方面的时间有点短,我想我会在输入中显示详细信息但隐藏它,这样我就不必格式化它的 css,我会显示它就像我在上面一样。这不是最好的解决方案,但它确实有效。
标签: php html post html-table session-variables