За последние 24 часа нас посетили 59544 программиста и 1857 роботов. Сейчас ищут 1395 программистов ...

Добавление всех товаров из корзины

Тема в разделе "PHP для новичков", создана пользователем Artsiom, 17 июн 2018.

  1. Artsiom

    Artsiom Активный пользователь

    С нами с:
    24 апр 2018
    Сообщения:
    18
    Симпатии:
    0
    Как сделать чтобы все записи добавлялись из корзины в бд? А то добавляется только последняя. Запись добавляется в бд. Надо чтобы на каждый товар была новая запись, кто шарит помогите пожалуйста...
    PHP:
    1. <h2 align="center">Оформление заказа</h2>
    2. <?
    3. if($_SESSION['cart'] && !isset($_POST['order']))
    4. {
    5. ?>
    6. <form action="index.php?view=order" method="post" id="cart-form">
    7. <table id="mycart" align="center" cellspacing="0" cellpadding="0" border="0">
    8.       <tr>
    9.             <th>Товар</th>
    10.             <th>Цена</th>
    11.             <th>Кол-во</th>
    12.             <th>Всего</th>
    13.       </tr>
    14.       <? foreach($_SESSION['cart'] as $id => $quantity):
    15.          $product = get_product($id);
    16.       ?>
    17.      
    18.       <tr>
    19.           <td align="center"><?=$product['title'];?></td>
    20.           <td align="center"><?=number_format($product['price'],2);?></td>
    21.           <td align="center"><?=$quantity;?></td>
    22.           <td align="center"><?=number_format($product['price'] * $quantity ,2);?></td>
    23.       </tr>
    24.    
    25.       <?endforeach;?>
    26.    
    27. </table>  
    28.      <p class="total" align="center">Общая сумма заказа: <span class="product-price"><?=number_format($_SESSION['total_price'],2);?></span></p>
    29.    
    30.      <p align="center" style="color:  black;">
    31. Ваше Имя: <br />
    32.      <input type="text" name="name" required/><br />
    33.      Ваша Фамилия: <br />
    34.      <input type="text" name="s_name" required/><br />
    35.      Ваш адрес: <br />
    36.      <input type="text" name="address" required/><br />
    37.      Почтовый индекс: <br />
    38.      <input type="text" name="post_index" required/><br />
    39.      Ваш e-mail: <br />
    40.      <input type="text" name="email" /><br required/>
    41.      </p>
    42.  
    43.  
    44.      <p align="center"><input type="submit" name="order" value="Заказать" /></p>
    45. </form>
    46. <?
    47. }
    48. if($_SESSION['cart'] && isset($_POST['order']))
    49. {
    50.     $pattern_name = '/^[a-zA-Zа-яА-ЯЁё]{1,32}$/u';
    51.     $pattern_index = '/^[0-9]{6}$/u';
    52.     $pattern_email = '/^[\w\.\-]+\@+[a-z]+\.+[a-z]{1,5}$/';
    53.     $pattern_addres = '/^[a-zA-Zа-яА-ЯЁё0-9\s\.]{1,100}$/u';// \s - пробел, точка
    54.     if (!empty($_POST['s_name'])){
    55.         if(!preg_match($pattern_name, $_POST['s_name'])){
    56.             $error = "Некорректно введёна фамилия"; //ошибка
    57.         } else {
    58.             $error = false; //ошибка не найдена
    59.         }
    60.     }
    61.     if (!empty($_POST['name'])){
    62.         if(!preg_match($pattern_name, $_POST['name'])){
    63.             $error = "Некорректно введно имя";
    64.         } else {
    65.             $error = false;
    66.         }
    67.     }
    68.     if (!empty($_POST['post_index'])){
    69.         if(!preg_match($pattern_index, $_POST['post_index'])){
    70.             $error = "Некорректно введён почтовый индекс" ;
    71.         } else {
    72.             $error = false;
    73.         }
    74.     }
    75.     if (!empty($_POST['addres'])){
    76.         if(!preg_match($pattern_addres, $_POST['addres'])){
    77.             $error = "Некорректно введён адрес";
    78.         } else {
    79.             $error = false;
    80.         }
    81.     }
    82.     if (!empty($_POST['email'])){
    83.         if(!preg_match($pattern_email, $_POST['email'])){
    84.             $error = "Некорректно введён email";
    85.         } else {
    86.             $error = false;
    87.         }
    88.     }
    89.     if ($error === false) //Если ошибка не найдена, выполняется код
    90.     {
    91.     foreach($_POST as $ArrKey => $ArrStr)
    92.     {
    93.         $ArrKey = $_POST[$ArrKey];
    94.     }
    95.     $date = date('Y-m-d');
    96.     $time = date('H:i:s');
    97.  
    98.     foreach($_SESSION['cart'] as $id => $quantity):
    99.     $product = get_product($id);
    100.         $query = mysql_query("INSERT INTO orders(name,s_name,address,post_index,email,date,time,product,prod_id,price,qty) VALUES ('$name','$s_name','$address','$post_index','$email','$date','$time','{$product['title']}','{$product['id']}','{$product['price']}','$quantity')");
    101.     endforeach;
    102.  
    103.     echo "<p align='center' style='color: #black;'>Ваш заказ успешно принят! Спасибо за покупку!</p>";
    104.     }
    105.     else
    106.     {
    107.      //Если ошибка есть
    108.      echo "<p align='center' style='color: #black;'>ОШИБКА В ВВЕДЕННЫХ ДАННЫХ</p>";
    109.      }
    110. }
    111. ?>
    112. <?
     
  2. username

    username Новичок

    С нами с:
    6 июл 2017
    Сообщения:
    223
    Симпатии:
    17
    ставишь опенкарт и будет всё добавляться
     
  3. Artsiom

    Artsiom Активный пользователь

    С нами с:
    24 апр 2018
    Сообщения:
    18
    Симпатии:
    0
    а без него можно как нибудь?
     
  4. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Можно, но только тем, кто шарит.
     
    SamyRed нравится это.
  5. Artsiom

    Artsiom Активный пользователь

    С нами с:
    24 апр 2018
    Сообщения:
    18
    Симпатии:
    0
    расскажите как без него
     
  6. miketomlin

    miketomlin Старожил

    С нами с:
    9 авг 2016
    Сообщения:
    3.861
    Симпатии:
    657
    Ну например можно указать в запросе сразу несколько добавляемых записей. Помогло?
     
  7. Artsiom

    Artsiom Активный пользователь

    С нами с:
    24 апр 2018
    Сообщения:
    18
    Симпатии:
    0
    Помогите с указанием этих записей...