How can I efficiently update a database-driven navigation menu through an admin menu in PHP?

Issue: To efficiently update a database-driven navigation menu through an admin menu in PHP, you can create a form in the admin panel where the admin can add, edit, or delete menu items. Upon submission of the form, the PHP script will update the database table containing the navigation menu items accordingly.

<?php
// Connect to the database
$pdo = new PDO("mysql:host=localhost;dbname=your_database", "username", "password");

// Check if form is submitted
if(isset($_POST['submit'])){
    // Loop through submitted menu items
    foreach($_POST['menu_items'] as $menu_item){
        // Update database table with new menu item data
        $stmt = $pdo->prepare("UPDATE navigation_menu SET title = :title, url = :url WHERE id = :id");
        $stmt->execute(array(
            ':title' => $menu_item['title'],
            ':url' => $menu_item['url'],
            ':id' => $menu_item['id']
        ));
    }
    echo "Navigation menu updated successfully!";
}

// Display form in admin panel
$stmt = $pdo->query("SELECT * FROM navigation_menu");
$menu_items = $stmt->fetchAll();
?>
<form method="post">
    <?php foreach($menu_items as $menu_item): ?>
        <input type="text" name="menu_items[<?php echo $menu_item['id']; ?>][title]" value="<?php echo $menu_item['title']; ?>">
        <input type="text" name="menu_items[<?php echo $menu_item['id']; ?>][url]" value="<?php echo $menu_item['url']; ?>">
        <input type="hidden" name="menu_items[<?php echo $menu_item['id']; ?>][id]" value="<?php echo $menu_item['id']; ?>">
    <?php endforeach; ?>
    <input type="submit" name="submit" value="Update Menu">
</form>