Advertisement
Guest User

Untitled

a guest
Sep 6th, 2016
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.17 KB | None | 0 0
  1. <?php
  2.  
  3. $host = 'localhost';
  4. $dbname = 'spirit';
  5. $user = 'spirit';
  6. $password = 'spirit';
  7.  
  8. $dsn = "mysql:host={$host};dbname={$dbname};charset=UTF8";
  9. $opt = [PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC];
  10. $pdo = new PDO($dsn, $user, $password, $opt);
  11.  
  12. $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');
  13. $idsStmt = $pdo->prepare('SELECT id, pagetitle FROM modx_site_content WHERE pagetitle = :title');
  14.  
  15. while ($row = $incompletesStmt->fetch()) {
  16.  
  17. if ($row['cnt_not_null'] == '0') {
  18. print('NO IMAGE ' . $row['pagetitle'] . "\n");
  19. } else {
  20. $idsStmt->execute(['title' => $row['pagetitle']]);
  21. $ids = $idsStmt->fetchAll();
  22. $ids = array_column($ids, 'id');
  23.  
  24. $placeholders = str_repeat ('?, ', count($ids) - 1) . '?';
  25. $updateStmt = $pdo->prepare("UPDATE modx_ms2_products SET image=? WHERE id IN ($placeholders) AND image IS NULL");
  26. array_unshift($ids, $row['image']);
  27. $updateStmt->execute($ids);
  28. }
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement