php - 如何向MySQL中插入多条记录

标签 php mysql database session

我有一个带有购物车的小页面。所有的东西都存储在 session 中。现在我需要将这些数据保存到mysql数据库。

我认为,我需要使用 foreach 循环来执行此操作,但我无法构造它。有人知道解决办法吗?

这是显示购物车的功能。

function showCart() {
    global $db;
    $cart = $_SESSION['cart'];
    if ($cart) {
        $items = explode(',',$cart);
        $contents = array();
        foreach ($items as $item) {
            $contents[$item] = (isset($contents[$item])) ? $contents[$item] + 1 : 1;
        }
        $output[] = '<form action="cart.php?action=update" method="post" id="cart">';
        $total=0;
        $output[] = '<table>';
        foreach ($contents as $id_menu=>$qty) {
            $sql = 'SELECT * FROM menu WHERE id_menu = '.$id_menu;
            $result = $db->query($sql);
            $row = $result->fetch();
            extract($row);
            $output[] = '<tr>';
            $output[] = '<td><a href="cart.php?action=delete&id_menu='.$id_menu.'" class="r">Delete</a></td>';
            $output[] = '<td>' .$name. '</td>';
            $output[] = '<td>' .$price.' Kč</td>';
            $output[] = '<td><input type="text" name="qty'.$id_menu.'" value="'.$qty.'" size="5" maxlength="5" /></td>';
            $output[] = '<td>' .($price * $qty).' Kč</td>';
            $total += $price * $qty;

            $output[] = '</tr>';
        }
        $output[] = '</table>';
        $output[] = '<p>Total: <strong>'.$total.' EUR</strong></p>';
        $output[] = '<div><button type="submit">Update</button></div>';
        $output[] = '</form>';
    } else {
        $output[] = '<p>Cart is empty.</p>';
    }
    return join('',$output);
}

最佳答案

我认为你需要这样的东西......

    foreach ($contents as $id_menu=>$qty) 
    {
    $sql1 = 'INSERT INTO tablename (colum1, colum2, column3, ... ) SELECT * FROM menu WHERE id_menu = '.$id_menu;
    //rest  of your program
    }

关于php - 如何向MySQL中插入多条记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22426506/

相关文章:

MySQL 表有数据但未在选择查询中显示

php - BigINT 和 VarChar 的区别,长度 16 个字符

php - php isset 检查中的同一页面发布请求不起作用?

PHP exec 和 shell_exec : no output

Mysql 更新日期时间语句

sql - 透视表/逆透视表 mysql

php - 我怎样才能避免在 PHP 的 While 循环中使用 MySQL 查询

java - 如何在mysql或任何数据库中保存未知长度的数据

iphone - 从在线 Plist 文件中获取字符串?

javascript - FullCalendar 在 laravel 中不起作用?