我遇到了关于在PHP循环之外传递php变量的小问题。我在同一页面创建了表格和表格。显示第一个表格,弹出窗体中的直通编辑链接对话框。我想在点击编辑链接后将动态ID传递给对话框。我的页面包含一个php表和表单。
PHP / HTML表格
<table>
<th>ID</th>
<th>Title</th>
<th>Edit</th>
<?php
$query="select * from video order by id desc";
$result=$con->query("SELECT * FROM video ORDER by id DESC") or die($con->error);
while($row=$result->fetch_assoc()){
$id=$row['id'];
$heading=$row['heading'];
?>
<tr>
<td>
<?php echo $id ?>
</td>
<td>
<?php echo $heading ?>
</td>
<td>
<a href="#modal2" id="pop_button">Edit</a>
</td>
</tr>
<?php } ?>
</table>
在此表之后,我想以这种形式显示数据
对话框中的PHP表单
<div class="remodal" data-remodal-id="modal2" role="dialog" aria-labelledby="modal2Title" aria-describedby="modal2Desc">
<form action="" method="POST" enctype="multipart/form-data">
<table>
<tr>
<th>Video ID</th>
<td>
<input type="number" value="<?php echo $id?>" name="id" readonly></input>
</td>
</tr>
<tr>
<th>Video Title</th>
<td>
<input type="text" value="<?php echo $heading?>" name="title"></input>
</td>
</tr>
</table>
</form>
</div>
我知道虽然循环无法连接到弹出对话框窗体,所以我的代码只打印第一行的数据。如果我在while循环中包含整个代码,我的表结构会变得混乱。是否有任何想法在while循环之外传递ID ?我尝试使用全局变量方法,但它不起作用。也许我无法正确使用全局变量。感谢
答案 0 :(得分:1)
在你的while循环中将值存储到数组中,如下所示:
<?php
$query="select * from video order by id desc";
$result=$con->query("SELECT * FROM video ORDER by id DESC") or die($con->error);
$array = [];
while($row=$result->fetch_assoc()){
$id=$row['id'];
$heading=$row['heading'];
$array[$id] = $heading;
?>
在你的html表格中这样:
<table>
<tr>
<th>Video ID</th>
<th>Video Title</th>
<?php foreach ($array as $key => $val){ ?>
<td>
<input type="number" value="<?php echo $key?>" name="id" readonly></input>
</td>
<td>
<input type="text" value="<?php echo $val?>" name="title"></input>
</td>
<?php } ?>
</tr>
</table>