PHP: <?php $host = "127.0.0.1"; $database = "users"; $username = "root"; $password = ""; // Устанавливаем соединение $conn = mysqli_connect($host, $username, $password, $database); // Проверяем соединение if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; $sql = "INSERT INTO ss (count, name, price) VALUES (не знаю что писать)"; if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); Код (Text): Array ( [shoppingCart] => [{"name":"Ази","price":7900,"count":2},{"name":"Аллохол таб. п/о №10","price":4900,"count":1},{"name":"Гербион Плюща сироп ","price":32,"count":1}] )
Отправляемый данный туда писать. В формате Код (Text): INSERT INTO ss (count, name, price) VALUES ('2', 'Ази','7900'), ('1','Аллохол таб. п/о №10', '4900'),('1','Гербион Плюща сироп','32');
не получится потому что это корзина сайта Я хочу отправить товары на бд который выбрал пользователь Но если кратко Как отправить товары из SessionStorage на бд?
Пользователь выбирает товары как собрать? Заранее спасибо))) --- Добавлено --- --- Добавлено --- с помощью ajax отправляю на отработчику PHP: <?php $host = "127.0.0.1"; $database = "users"; $username = "root"; $password = ""; // Устанавливаем соединение $conn = mysqli_connect($host, $username, $password, $database); // Проверяем соединение if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } echo "Connected successfully"; $sql = "INSERT INTO ss (ID, NOM, MUDDAT) VALUES ()"; if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); if (empty($_POST['data'])) { echo 'Данных нет'; } else { echo '<pre>' . print_r($_POST['data'], true) . '</pre>'; } exit(); код отработчика
ОК. Теперь что-то начинает проясняться. Если вам необходимо из $_POST['data'] сформировать(собрать) SQL запрос вида Код (Text): INSERT INTO ss (ID, NOM, MUDDAT) VALUES () и вы просите дать пример того как его правильно обработать. То. 1. Выполните следующее PHP: var_export($_POST['data']); И скопируйте вывод сюда. 2. Разъясните что из выведенного является ID, NOM и MUDDAT
с помощью ajax отправляю на отработчику array ( 'shoppingCart' => ' [ { " name":"Ази","price":7900,"count":1} , {"name":"Аллохол таб. п/о №10","price":4900,"count":1 } ] ', ) ID=name NOM=price MUDDAT=count
Требуется уточнение. Этот массив вы подготавливаете сами или используете чей-то чужой код? Вместо того чтобы передать один массив закодированный в json, вы передаете строку, в которую помещаете массив, в котором два закодированных элемента в формате json. Если это чужой код, то придется эту строку парсить. Если код ваш, то его необходимо переписать.
То есть $_POST['data'] у вас должен содержать строку вида Код (Text): {"shoppingCart":[{" name":"Ази","price":7900,"count":1},{"name":"Аллохол таб. п/о №10","price":4900,"count":1}]}
обратите внимание на shopingcart --- Добавлено --- Как я могу отправить Вот вот это на бд? --- Добавлено --- http://192.168.100.7/kas.php ссылка на сайт
Общий подход у вас правильный. Даже в том виде, в котором $_POST['data'] находится сейчас, её можно распарсить, и преобразовать в SQL. Но. Это неправильный вид $_POST['data']. Впоследствии, когда вы таки разберетесь, как правильно упаковывать данные в json, придется переписывать и обработчик. А возможно и еще что-нибудь. Поэтому от вас сейчас требуется определиться - переписать только Ajax, но сейчас. Или переписывать половину всего кода, но потом.
OK. Примем за "потом". PHP: <?php $array = array ( 'shoppingCart' => ' [ { "name":"Ази","price":7900,"count":1} , {"name":"Аллохол таб. п/о №10","price":4900,"count":1 } ] ', ); $arr = explode('} , {', trim($array['shoppingCart'], '{}, []')); $sql = 'INSERT INTO ss (ID, NOM, MUDDAT) VALUES '; foreach($arr as $str) { list($pname, $pprice,$pcount) = explode(',', $str); list(,$name) = explode(':', $pname); list(,$price) = explode(':', $pprice); list(,$count) = explode(':', $pcount); $sql .= sprintf("('%s','%s','%s'), ", trim($name, '"'), $price, $count); } $sql = chop($sql, ', ').';'; echo $sql; ?> P.S. Пример дан для общего представления как собрать строку запроса к базе данных. И не включает в себя части кода обеспечивающие безопасность обработки пользовательского ввода
Спасибо))) $array = array ( 'shoppingCart' => ' [ { "name":"Ази","price":7900,"count":1} , {"name":"Аллохол таб. п/о №10","price":4900,"count":1 } ] ', ); Но если пользователь захочет выбрать другой товар "shopingcart" изменится же потом что делать?