我正在为工作制作模板生成器。
生成器的目标是创建一个表,您可以在其中输入唯一的字段。在将这些字段输入每个表格单元格后,将按下一个按钮以生成模板。
我遇到的问题是输入字段在生成时没有给出唯一的名称。我知道需要为每个输入字段创建一个数组,但在这种情况下我不确定如何做到这一点。
任何援助都会很棒。
我有以下代码:
<html>
<body>
<div>
<p>Enter number of Rows<p>
<form action="" method="POST">
<label for="title">Row</label>
<input type="text" name="numRows" placeholder="Number of Rows">
<input type="submit" name="submit" value="Generate Table">
</div>
<div>
<?php
if(isset($_POST['numRows'])) {
$row = $_POST['numRows'];
$column = 2;
echo '<form method="POST" name="form_1st_generate" >';
echo '<table style="border-collapse: collapse; border: 1px solid black">';
for($tr=1;$tr<=$row;$tr++) {
echo '<tr>';
for($td=1;$td<=$column;$td++){
echo '<td style="border: 1px solid black"><input type="text" name="tableInput[]" /></td>';
}
echo '</tr>';
}
echo '</table>';
echo '<input type="submit" value="Generate Template" name="submit_form_1st_generate"/>';
echo '</form>';
}
if(isset($_POST['submit_form_1st_generate'])){
echo '<br />';
echo 'Generated Template';
$row1col1 = $_POST['tableInput[1]'];
$row1col2 = $_POST['tableInput[2]'];
echo $row1col1;
echo $row1col2;
}
?>
</div>
</body>
答案 0 :(得分:2)
解决方案是将'table-input-'.$tr.'-'.$td
的名称放入,并知道您将能够按顺序迭代所有字段的行数和列数:
for ($tr = 1; isset($_POST['table-input-'.$tr.'-1']); $tr++) {
for ($td = 1; isset($_POST['table-input-'.$tr.'-'.$td]); $td++) {
//your server-side stuff
}
}
答案 1 :(得分:0)
我能够使用以下代码完成此操作。
像冠军一样工作:
<!DOCTYPE html>
<html>
<head>
<title>Table Generator</title>
</head>
<body>
<center>
<div>
<h3>Enter number of rows you would like to have in the table: </h3>
<form method="GET">
<input type="text" name="numRows" />
<input type="submit" name="submit" value="Generate Table">
</form>
</div>
<div>
<?php
if(isset($_GET['numRows'])) {
$row = $_GET['numRows'];
$column =1;
echo '<form method="POST" action="" name="form_1st_generate" >';
echo '<br />';
echo '<table style="border-collapse: collapse; border: 1px solid black">';
for($tr=1;$tr<=$row;$tr++) {
echo '<tr>';
for($td=1;$td<=$column;$td++){
echo '<td style="border: 1px solid black"><input type="text" name="'.$tr.'" /></td>';
}
echo '</tr>';
}
echo '</table>';
echo '<input type="submit" value="Generate Template" /><br /><br />';
echo '</form>';
}
?>
</div>
<div>
<table>
<hr>
<h3>Generated Example:</h3>
<?php
foreach ($_POST as $tr => $value){
echo "\n<tr><td><label for='".$value."'></label>".$value.": </td><td> <input type='text' name='".$value."' /></td></tr>\n";
}
?>
</table>
<br />
<textarea style='width:50%;;height:300px;'>
<table>
<?php
foreach ($_POST as $tr => $value){
echo "\n<tr><td><label for='".$value."'></label>".$value.": </td><td> <input type='text' name='".$value."' /></td></tr>\n";
}
?>
</table>
</textarea>
</div>
</center>
</body>
</html>