php - 从 Mysqli 中获取 id

标签 php mysql mysqli

每当我点击一个按钮来更新我存储在数据库中的记录时,我一直在尝试向弹出窗口添加一个模式,但是我在获取 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">&times;</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>  

有什么办法可以解决吗?

最佳答案

您正试图在定义它的 while 循环之外调用 $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 代替 printprint 将评估您传递给它的变量,如果您使用它来生成 HTML,您可能会看到奇怪的结果。

现在,当您想在脚本的后半部分获取这些值时,您可以使用如下内容:

  <div class="modal-body">
      Er du sikker på at du vil slette <?php echo $nav_array[0]; ?>?
  </div>

请注意我在使用数组时引用的 0 索引键。更改此设置以匹配您希望从结果中获得的值。

关于php - 从 Mysqli 中获取 id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29552472/

相关文章:

php - mysqli bind_param 变量数量与准备好的语句中的参数数量不匹配

php - 使用 mysqli 配置文件

php - get_result()->fetch_assoc() 始终返回 1 行

javascript - 如何使用 javascript 从 php 脚本交互获取数据

mysql - 如何为开发环境转储 MySQL 数据库中所有表的最近 1000 行?

PHP/MySQL/Jquery - 构建关联数组并使用 JQuery $.each 输出它

mySQL:使用 varchar 中的值连接 2 个表

php - MySQL - 提取非现有 ID 的替代方法

php - 查询将旧哈希密码转换为 AES

php - 访问css文件laravel中的 session 变量