<?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";
}
}
PHP version :
PHP 7.4
PHP 8.0
PHP 8.1
PHP 8.2
PHP 8.3
PHP 8.4
Run PHP Code
Save snippet