每当我点击按钮更新我存储在数据库中的记录时,我一直试图添加一个弹出的Modal,但我在获取id 时遇到了问题
<?php
//Open a new connection to the MySQL server
$mysqli = new mysqli('localhost','root','','pizzeria');
//Output any connection error
if ($mysqli->connect_error) {
die('Error : ('. $mysqli->connect_errno .') '. $mysqli->connect_error);
}
//MySqli Select Query
$results = $mysqli->query("SELECT id, navn, indeholder, pris FROM pizza");
print '<tr>';
while($row = $results->fetch_assoc()) {
print '<td>'.$row["id"].'</td>';
print '<td>'.$row["navn"].'</td>';
print '<td>'.$row["indeholder"].'</td>';
print '<td>'.$row["pris"].'</td>';
print '<td align="center"><button type="btn btn-default" data-toggle="modal" data-target="#<?php echo $row['id']; ?>">Redigere</button></td>';
print '</tr>';
}
// Frees the memory associated with a result
$results->free();
// close connection
$mysqli->close();
?>
</tbody>
</table>
</div>
<div class="modal fade" id="delete-<?php echo $row['id']; ?>" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h4 class="modal-title" id="myModalLabel">Bekræft Venligst Sletning</h4>
</div>
<div class="modal-body">
Er du sikker på at du vil slette <?php echo $rows['navn']; ?>?
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal">Luk</button>
<a href="delete.php?id=<?php echo $rows['id']; ?>" class="btn btn-info btn-sm">Slet</a>
</div>
</div>
</div>
</div>
有什么我能做的吗?
您试图在中定义的循环之外调用$row
变量。在循环中,您需要将$row
的数组值分配给新变量。然后,您将能够引用脚本后半部分中的值。
$id_array = array();
$nav_array = array();
$indeholder_array = array();
$pris_array = array();
while($row = $results->fetch_assoc()) {
// Save the results to our globally scoped arrays
array_push($id_array, $row["id"]);
array_push($nav_array, $row["navn"]);
array_push($indeholder_array, $row["indeholder"]);
array_push($pris_array, $row["pris"]);
echo '<td>'.$row["id"].'</td>';
echo '<td>'.$row["navn"].'</td>';
echo '<td>'.$row["indeholder"].'</td>';
echo '<td>'.$row["pris"].'</td>';
echo '<td align="center"><button type="btn btn-default" data-toggle="modal" data-target="#<?php echo $row['id']; ?>">Redigere</button></td>';
echo '</tr>';
}
在上面的文章中,我在全局范围中创建了四个新数组,用于存储SELECT查询返回的每个值。
我还将print
的实例更改为echo
。在生成HTML标记时,您需要使用echo
来代替print
。print
将评估您传递给它的变量,如果您使用它来生成HTML,您可能会看到不稳定的结果。
现在,当您想在脚本的后半部分获取这些值时,您可以使用以下内容:
<div class="modal-body">
Er du sikker på at du vil slette <?php echo $nav_array[0]; ?>?
</div>
请注意,在使用数组时,我所引用的0
索引键。更改此项以匹配您希望从结果中获得的值。
您实际上得到了一个PHP语法错误。在while循环内的第5次打印:
print '<td align="center"><button type="btn btn-default" data-toggle="modal" data-target="#<?php echo $row['id']; ?>">Redigere</button></td>';
将其更改为
print '<td align="center"><button type="btn btn-default" data-toggle="modal" data-target="#'.$row['id'].'">Redigere</button></td>';