[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как заполнить поля(MySQL) придерживаясь интервала?
Dima93
У меня есть две таблице первая attachment вторая download, в обоих есть записи в первой всего 15 записей, в download 600. Написал скрипт который извлекает id из attachment и добавляет их во вторую таблицу (id_pos) при этом не подряд, а с интервалом в 3 поля. Как сделать так чтобы скрипт начинал повторятся и добавляться заново (с интервалом в три поля) пока список download не закончится (т.е повтор как в рекурсии)?
Вот мой код, добавление первых данных (с интервалом в три строки).

<?php
include "config.php";
echo time();
?>
<script src="https://mysite5.su/js/jquery-1.9.1.js"></script>
<
link rel="StyleSheet" type="text/css" href="style.css">
<?php


//Выбираем все записи из attachment
try {
$query = "SELECT * FROM attachment";
$STH = $dbh->prepare($query);
$STH->execute();

$items = $STH->fetchAll(PDO::FETCH_ASSOC);
$STH = $dbh->prepare($query);
$STH->execute();

}
catch(PDOException $e) {
echo "Обнаружена ошибка. Напишите администратору. $email<br>";
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}

try {
$query = "SELECT t3.*
FROM (
SELECT t1.*, count(t2.id)+1 as nr
FROM download t1
LEFT
JOIN download t2
ON t2.id < t1.id
GROUP
BY t1.id
) as t3
WHERE nr%4=1;"
;
$STH = $dbh->prepare($query);
$STH->execute();


$news = $STH->fetchAll();

$STH = $dbh->prepare("UPDATE download SET id_pos = ? WHERE id = ?");
foreach ( $news as $key=>$n ) {

$STH->execute(array($items[$key]["id"], $n["id"]));
}
}

catch(PDOException $e) {
echo "Обнаружена ошибка. Напишите администратору. $email<br>";
file_put_contents('PDOErrors.txt', $e->getMessage(), FILE_APPEND);
}
?>
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.