Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- $host = 'localhost';
- $dbname = 'spirit';
- $user = 'spirit';
- $password = 'spirit';
- $dsn = "mysql:host={$host};dbname={$dbname};charset=UTF8";
- $opt = [PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC];
- $pdo = new PDO($dsn, $user, $password, $opt);
- $incompletesStmt = $pdo->query('SELECT * FROM (SELECT count(*) AS cnt_total, count(image) AS cnt_not_null, pagetitle, min(image) AS image FROM modx_ms2_products AS p LEFT JOIN modx_site_content AS c ON p.id = c.id GROUP BY pagetitle) AS t WHERE cnt_total > cnt_not_null');
- $idsStmt = $pdo->prepare('SELECT id, pagetitle FROM modx_site_content WHERE pagetitle = :title');
- while ($row = $incompletesStmt->fetch()) {
- if ($row['cnt_not_null'] == '0') {
- print('NO IMAGE ' . $row['pagetitle'] . "\n");
- } else {
- $idsStmt->execute(['title' => $row['pagetitle']]);
- $ids = $idsStmt->fetchAll();
- $ids = array_column($ids, 'id');
- $placeholders = str_repeat ('?, ', count($ids) - 1) . '?';
- $updateStmt = $pdo->prepare("UPDATE modx_ms2_products SET image=? WHERE id IN ($placeholders) AND image IS NULL");
- array_unshift($ids, $row['image']);
- $updateStmt->execute($ids);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement