За последние 24 часа нас посетили 22332 программиста и 1130 роботов. Сейчас ищут 676 программистов ...

как отправить данный из sessionstorage на базу даных

Тема в разделе "MySQL", создана пользователем САРВАР СИРОЖОВ, 22 май 2021.

Метки:
  1. САРВАР СИРОЖОВ

    С нами с:
    7 апр 2021
    Сообщения:
    10
    Симпатии:
    0
    PHP:
    1. <?php
    2.  
    3.  
    4. $host = "127.0.0.1";
    5. $database = "users";
    6. $username = "root";
    7. $password = "";
    8. // Устанавливаем соединение
    9. $conn = mysqli_connect($host, $username, $password, $database);
    10. // Проверяем соединение
    11.  
    12. if (!$conn) {
    13.     die("Connection failed: " . mysqli_connect_error());
    14. }
    15.  
    16. echo "Connected successfully";
    17.  
    18. $sql = "INSERT INTO ss (count, name, price) VALUES (не знаю что писать)";
    19. if (mysqli_query($conn, $sql)) {
    20.     echo "New record created successfully";
    21. } else {
    22.     echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    23. }
    24. mysqli_close($conn);

    Код (Text):
    1. Array
    2. (
    3.     [shoppingCart] => [{"name":"Ази","price":7900,"count":2},{"name":"Аллохол таб. п/о №10","price":4900,"count":1},{"name":"Гербион Плюща сироп ","price":32,"count":1}]
    4. )

    [​IMG]
     
  2. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Отправляемый данный туда писать.
    В формате
    Код (Text):
    1.  
    2. INSERT INTO ss (count, name, price) VALUES ('2', 'Ази','7900'), ('1','Аллохол таб. п/о №10', '4900'),('1','Гербион Плюща сироп','32');
     
    САРВАР СИРОЖОВ нравится это.
  3. САРВАР СИРОЖОВ

    С нами с:
    7 апр 2021
    Сообщения:
    10
    Симпатии:
    0
    не получится потому что это корзина сайта
    Я хочу отправить товары на бд который выбрал пользователь
    Но если кратко Как отправить товары из SessionStorage на бд?
     
  4. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    А какой бд пользователь обычно выбирает?
    Собрать в строку запроса. Отправить.
     
  5. САРВАР СИРОЖОВ

    С нами с:
    7 апр 2021
    Сообщения:
    10
    Симпатии:
    0
    Пользователь выбирает товары
    как собрать?
    Заранее спасибо))):)
    --- Добавлено ---

    --- Добавлено ---
    с помощью ajax отправляю на отработчику
    PHP:
    1. <?php
    2.  
    3.  
    4. $host = "127.0.0.1";
    5. $database = "users";
    6. $username = "root";
    7. $password = "";
    8. // Устанавливаем соединение
    9. $conn = mysqli_connect($host, $username, $password, $database);
    10. // Проверяем соединение
    11.  
    12. if (!$conn) {
    13.     die("Connection failed: " . mysqli_connect_error());
    14. }
    15.  
    16. echo "Connected successfully";
    17.  
    18. $sql = "INSERT INTO ss (ID, NOM, MUDDAT) VALUES ()";
    19. if (mysqli_query($conn, $sql)) {
    20.     echo "New record created successfully";
    21. } else {
    22.     echo "Error: " . $sql . "<br>" . mysqli_error($conn);
    23. }
    24. mysqli_close($conn);
    25.  
    26.  
    27.  
    28. if (empty($_POST['data'])) {
    29.     echo 'Данных нет';
    30. } else {
    31.     echo '<pre>' . print_r($_POST['data'], true) . '</pre>';
    32. }
    33. exit();
    код отработчика
     
  6. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    ОК. Теперь что-то начинает проясняться.
    Если вам необходимо из $_POST['data'] сформировать(собрать) SQL запрос вида
    Код (Text):
    1.  
    2. INSERT INTO ss (ID, NOM, MUDDAT) VALUES ()
    и вы просите дать пример того как его правильно обработать.
    То.
    1. Выполните следующее
    PHP:
    1. var_export($_POST['data']);
    И скопируйте вывод сюда.

    2. Разъясните что из выведенного является ID, NOM и MUDDAT
     
    САРВАР СИРОЖОВ нравится это.
  7. САРВАР СИРОЖОВ

    С нами с:
    7 апр 2021
    Сообщения:
    10
    Симпатии:
    0
    с помощью ajax отправляю на отработчику

    array ( 'shoppingCart' => ' [ { " name":"Ази","price":7900,"count":1} , {"name":"Аллохол таб. п/о №10","price":4900,"count":1 } ] ', )





    1. ID=name
    2. NOM=price
    3. MUDDAT=count
     
  8. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Требуется уточнение.
    Этот массив вы подготавливаете сами или используете чей-то чужой код?
    Вместо того чтобы передать один массив закодированный в json, вы передаете строку, в которую помещаете массив, в котором два закодированных элемента в формате json.
    Если это чужой код, то придется эту строку парсить.
    Если код ваш, то его необходимо переписать.
     
    САРВАР СИРОЖОВ нравится это.
  9. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    То есть $_POST['data'] у вас должен содержать строку вида
    Код (Text):
    1. {"shoppingCart":[{" name":"Ази","price":7900,"count":1},{"name":"Аллохол таб. п/о №10","price":4900,"count":1}]}
     
    САРВАР СИРОЖОВ нравится это.
  10. САРВАР СИРОЖОВ

    С нами с:
    7 апр 2021
    Сообщения:
    10
    Симпатии:
    0
    [​IMG]
    обратите внимание на shopingcart
    --- Добавлено ---
    Как я могу отправить Вот вот это на бд?
    --- Добавлено ---
    http://192.168.100.7/kas.php ссылка на сайт
     
  11. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Общий подход у вас правильный.
    Даже в том виде, в котором $_POST['data'] находится сейчас, её можно распарсить, и преобразовать в SQL.
    Но.
    Это неправильный вид $_POST['data'].
    Впоследствии, когда вы таки разберетесь, как правильно упаковывать данные в json, придется переписывать и обработчик.
    А возможно и еще что-нибудь.
    Поэтому от вас сейчас требуется определиться - переписать только Ajax, но сейчас. Или переписывать половину всего кода, но потом.
     
    САРВАР СИРОЖОВ нравится это.
  12. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    OK. Примем за "потом".
    PHP:
    1. <?php
    2.  
    3. $array = array ( 'shoppingCart' => ' [ { "name":"Ази","price":7900,"count":1} , {"name":"Аллохол таб. п/о №10","price":4900,"count":1 } ] ', );
    4.  
    5. $arr = explode('} , {', trim($array['shoppingCart'], '{}, []'));
    6.  
    7. $sql = 'INSERT INTO ss (ID, NOM, MUDDAT) VALUES ';
    8.  
    9. foreach($arr as $str)
    10. {
    11. list($pname, $pprice,$pcount) = explode(',', $str);
    12. list(,$name) = explode(':', $pname);
    13. list(,$price) = explode(':', $pprice);
    14. list(,$count) = explode(':', $pcount);
    15.  
    16. $sql .= sprintf("('%s','%s','%s'), ", trim($name, '"'), $price, $count);
    17. }
    18. $sql = chop($sql, ', ').';';
    19.  
    20. echo $sql;
    21. ?>
    P.S. Пример дан для общего представления как собрать строку запроса к базе данных.
    И не включает в себя части кода обеспечивающие безопасность обработки пользовательского ввода
     
    #12 Drunkenmunky, 23 май 2021
    Последнее редактирование: 23 май 2021
    САРВАР СИРОЖОВ нравится это.
  13. САРВАР СИРОЖОВ

    С нами с:
    7 апр 2021
    Сообщения:
    10
    Симпатии:
    0
    Спасибо)))


    1. $array = array ( 'shoppingCart' => ' [ { "name":"Ази","price":7900,"count":1} , {"name":"Аллохол таб. п/о №10","price":4900,"count":1 } ] ', );
      Но если пользователь захочет выбрать другой товар "shopingcart" изменится же потом что делать?
     
  14. Drunkenmunky

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

    С нами с:
    12 авг 2020
    Сообщения:
    1.476
    Симпатии:
    281
    Содержимое изменится. Но не структура.
    Чтобы изменилась структура нужно изменять запрос Ajax
     
    САРВАР СИРОЖОВ нравится это.