Hi! Could we please enable some services and cookies to improve your experience and our website?

PHPize Online / SQLize Online  /  SQLtest Online

A A A
Login    Share code      Blog   FAQ

Online Sandbox for SQL and PHP: Write, Run, Test, and Share SQL Queries and PHP Code

Copy Format Clear
CREATE TABLE IF NOT EXISTS products ( id INT AUTO_INCREMENT PRIMARY KEY, title VARCHAR(255), brand VARCHAR(255), category VARCHAR(255), thumbnail TEXT, price DECIMAL(10,2) );

Stuck with a problem? Got Error? Ask AI support!

Copy Clear
Copy Format Clear
<?php // try { // $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // вывод ошибок // // Выполняем запрос к API // $ch = curl_init(); // curl_setopt($ch, CURLOPT_URL, "https://dummyjson.com/products"); // curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); // $response = curl_exec($ch); // curl_close($ch); // if (!$response) die('Ошибка загрузки данных'); // // Парсим JSON // $data = json_decode($response, true); // if (!isset($data['products'])) die('Нет списка продуктов'); // foreach ($data['products'] as $product) { // var_dump($product['title']); // if (stripos($product['title'], 'iPhone') !== false || stripos($product['category'], 'iPhone') !== false) { // try { // $stmt = $pdo->prepare("INSERT INTO products (title, description, price, brand, category) VALUES (:title, :description, :price, :brand, :category)"); // $stmt->bindValue(':title', $product['title']); // $stmt->bindValue(':description', $product['description']); // $stmt->bindValue(':price', $product['price']); // $stmt->bindValue(':brand', $product['brand']); // $stmt->bindValue(':category', $product['category']); // $stmt->execute(); // } catch (PDOException $e) { // echo "Ошибка при сохранении товара: {$product['title']} - {$e->getMessage()}"; // } // } // } // echo "Продукты успешно загружены!"; // } catch (PDOException $e) { // die("Ошибка соединения с базой данных: " . $e->getMessage()); // } // $_SERVER['REQUEST_URI'] = '/products/category/smartphones'; // try { // $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); // } catch (PDOException $e) { // die("Ошибка подключения к базе данных: " . $e->getMessage()); // } // $requestUrl = strtok($_SERVER['REQUEST_URI'], '?'); // list($resource, ,$category) = explode('/', trim($requestUrl, '/')); $resource = 'products'; $category = 'smartphones'; $url = "https://dummyjson.com/{$resource}/category/{$category}"; $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); $response = curl_exec($ch); curl_close($ch); if (!$response) die("Ошибка загрузки '{$resource}'"); $data = json_decode($response, true); foreach($data as $item) { var_dump($item['title']); // if (stripos($item['title'], 'iPhone') !== false) var_dump($item); } function insertItemToDb($data) { list($title, $brand, $category, $thumbnail, $price) = $data; $sql = "INSERT INTO {$category} (title, brand, category, thumbnail, price) VALUES (:title, :brand, :category, :thumbnail, :price)"; try { $stmt = $pdo->prepare($sql); $stmt->execute(array( ":title" => $title, ":brand" => $brand, ":category" => $category, ":thumbnail" => $thumbnail, ":price" => $price )); } catch (PDOException $e) { echo "Ошибка при сохранении {$category}: " . $e->getMessage() . "\n"; } }
Copy Clear