如何为表格的每一行放置一个表格
Posted
技术标签:
【中文标题】如何为表格的每一行放置一个表格【英文标题】:How can I put a form for each row of a table 【发布时间】:2018-08-03 03:19:39 【问题描述】:事情就是这样,我需要更新表格中的选定行,所以我为它的每一行放置一个表单(每一行都有一个更新按钮),当我点击更新时,它不会提交,实际上,什么也没做。
这是我的代码,我将不胜感激。
<div class="table-responsive">
<table class="table table-condensed">
<thead class="">
<tr>
<th>ID</th>
<th>Project</th>
<th>Type</th>
<th>Kick-Off Date</th>
<th>Deadline Date</th>
<th>Current Ninja</th>
<th>Status</th>
<th></th>
</tr>
</thead>
<tbody>
<?php
$q = $_GET['q'];
$sql="SELECT pr.project_name, pr.project_type, pr.project_start_date, pr.project_end_date, us.nombre, st.id_status, pr.id_project FROM NT_Projects as pr LEFT JOIN Project_Status as st on st.id_status = pr.id_status LEFT JOIN NT_Clients as cl on cl.id_client = pr.id_client LEFT JOIN usuarios as us on us.username = pr.username WHERE cl.id_client = $q";
$result = mysql_query($sql) or die(mysql_error());
$upt = 1;
while($row = mysql_fetch_array($result))
echo '
<div id="update-project">
<form method="post" action="sistema/_actions/updateProject.php" id="res-update-proj-'.$upt.'">';
$kickoff = date('m/d/Y', strtotime($row[2]));
$deadline = date('m/d/Y', strtotime($row[3]));
echo '<tr>';
echo '<td >
<input class="form-control" name="id_Proj" type="text" value="'.$row[6].'" readonly>
</td>';
echo "<td>" . $row[0] . "</td>";
echo "<td>" . $row[1] . "</td>";
echo "<td>" . $kickoff . "</td>";
echo "<td>" . $deadline . "</td>";
echo "<td>" . $row[4] . "</td>";
echo '<td >';
echo '<select class="form-control" name="proj_Status">';
$qStatus = "SELECT * FROM Project_Status;";
$exStatus = mysql_query($qStatus);
while($rStatus = mysql_fetch_array($exStatus))
if($row[5] == $rStatus[0])
echo '<option value="'.$rStatus[0].'" selected>'.$rStatus[1].'</option>';
else
echo '<option value="'.$rStatus[0].'">'.$rStatus[1].'</option>';
echo '</select>
</td>
<td class="text-center">
<button type="submit" class="btn btn-sm btn-primary btn-UProj" value="res-update-proj-'.$upt.'">Update</button>
<div id="res-update-proj-'.$upt.'" style="width: 100%; margin:0px; padding:0px;"></div>
</td>
</tr>
</form>
</div>';
$upt = $upt + 1;
?>
</tbody>
</table>
</div>
正在使用 ajax 从另一个 html 调用该代码
【问题讨论】:
你得到的错误是什么?您是否尝试过在 action 方法中打印出 the_POST 以查看您得到的结果? 我的按钮没有任何作用 是的,还是什么都没有 嗬嗬嗬嗬!mysql
已弃用!使用mysqli
或pdo
当您的页面呈现时。请检查元素并检查表单标签开始和结束的位置。表格标签必须出现在表格标签之前。
【参考方案1】:
根据网络标准,您不能将表格标签与 div 和表单混合使用。如果你这样做了,浏览器的 HTML 解析器会以不可预知的方式混合你的标签。
我知道的唯一解决方案是使用 CSS:
<div style="display: table">
<form style="display: table-row">
<div> style="display: table-cell"></div>
</form>
</div>
【讨论】:
以上是关于如何为表格的每一行放置一个表格的主要内容,如果未能解决你的问题,请参考以下文章