Как задать цену всем товарам сазу через pdo

Устанавливаем console-2.2.1-beta-2

Вообщем читал на w3c pdo in action

в разрезе разработке minishop2 данный pdo in action выгляядит так

Пытался когда то сделать форму для обновления цен через pdo во фронтенде для категорий товаров, вообщем неосилил и успокоился.

modx_ms2_products

(там находится price i old_rprice ms2 product)

Задаёт всем товарам price i old price через PDO

<?php

$servername = "localhost";
$username = "";
$password = "";
$dbname = "";


try {
    $conn = new PDO("mysql:host=$servername;dbname=$dbname", $username, $password);
    // set the PDO error mode to exception
    $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

    $sql = "UPDATE modx_ms2_products SET  price ='100', old_price ='150'";

    // Prepare statement
    $stmt = $conn->prepare($sql);

    // execute the query
    $stmt->execute();

    // echo a message to say the UPDATE succeeded
    echo $stmt->rowCount() . " records UPDATED successfully";
    }
catch(PDOException $e)
    {
    echo $sql . "
" . $e->getMessage();
    }

$conn = null;

?>
Кирилл
05 ноября 2018, 21:54
modx.pro
540
0

Комментарии: 1

Михаил
06 ноября 2018, 06:53
0
Если вы через Console делаете, не надо подключаться к базе. Можно вот так:

$products = $modx->getIterator('modResource', array('class_key' =>'msProduct'))
foreach($products as $product){
    $product->set('price', 'Тут новая цена')
    $product->set('old_price', 'Тут новая цена')
    $product->save();
}
    Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
    1