我有一个从mysqli查询创建的数组。 然后该数组通过for循环显示一个表。 在表格中有一个表单提交,需要获取所选行并将信息传递给要修改的变量。
我试图截取屏幕截图,但我刚加入并且没有代表。理论上,用户需要能够选择Modify,并且该行的数组元素需要传递到文本输入框,其中预设值为$ row [$ j] [0],其中$ j基于所选行固定修改。
这部分代码就是这样的。
if (isset($_POST['Select']) &&
isset($_POST['Search']))
{
$Select = get_post($con,'Select');
$Search = get_post($con,'Search');
if ($Select == "Invalid")
{
echo "<br /><br />Please select a search catagory";
}
else if ($Search == NULL)
echo "<br /><br />Please enter search field";
else
{
$query = "SELECT * FROM table WHERE $Select LIKE '$Search%'";
$result = mysqli_query($con,$query);
if (!mysqli_query($con,$query)) {
die('Error: ' . mysqli_error($con));
}
$rows = mysqli_num_rows($result);
echo "<table id='myTable' class='tablesorter'>
<thead><tr>
<th>Modify</th>
<th>Field1</th>
<th>Field2</th>
<th>etc...</th>
</tr></thead><tbody>";
for ($j = 0 ; $j < $rows ; ++$j)
{
$row = mysqli_fetch_row($result);
$modrow[$j] = $row;
echo <<<_END
<tr>
<td><form action="Lookup.php" method="post"><input type="submit" value="Modify" /><input type="hidden" name="submitted" value="$modrow[$j]"</form></td>
<td>$row[0]</td>
<td>$row[1]</td>
<td>etc...</td>
</tr><br />
_END;
}
echo "</tbody></table>";
if (isset($_POST['submitted']))
{
echo <<<_END
<form action="Lookup.php" method="post"><pre>
Field1 <input type="text" name="Field1" size="50" **value="$modrow[$j][0]"** />
...more of the same...
答案 0 :(得分:0)
根据我收集的内容,您希望将请求传递给包含该行的某种形式标识符的服务器,以便您可以创建一个表单供用户修改该行的数据。对不起,如果我误解了 - 我先问我是否正确理解你的评论,但没有足够的代表。
您可以使用ID提交到服务器。
<button type="submit" name="modify" value="<?= $theRowsId ?>">Modify</button>
将name和value属性的值分别视为函数/方法和值传递。
现在,当单击“修改”时,您可以检索ID,执行ID查询并使用行数据填充输入。
$rowId = $_POST['modify'];