|
Страници по тази тема: 1 | 2 | (покажи всички)
Тема
|
Обновяване на база данни
|
|
Автор |
TRlGGER (:o)=) |
Публикувано | 03.02.04 19:54 |
|
Значи ... трябва една база данни на определено време(всеки 12 часа например) да се обновява. Тоест на този интервал от време автоматично да се увеличават стойностите на дадени полета. Та въпроса ми е как става тази работа. Тоест текущите данни се вкарват във формула, презичисляват се и се пак записват в БД. А и още един въпрос, не го свързвайте с предишния. Потребителя въвежда определени неща, които трябва да се запишат в БД, само че искам това да стане със закъснение ... хм как?
Сигурно въпросите ми са тъпички, ама си няма идея как да го направя, та ако може някакви насоки да ми дадете. Благодаряпредваритлено на всички!
| |
Тема
|
Re: Обновяване на база данни
[re: TRlGGER]
|
|
Автор |
edembg (Ученик) |
Публикувано | 04.02.04 09:26 |
|
Имам две предложения.
1 - на определения период заключваш таблиците, правиш промените и ги отключваш.
2. - Ако обработката е дълга и ще попречи сайта да се държи нормално, правиш копия на таблиците, като променяш каквото трябва. След това заключваш всички таблици, унищожаваш старите и преименуваш новите. И пак отключваш.
Само не ми идва на ум как точно ще мериш времето между промените. Някъде бях чел съвет да се направи скрипт с безкраен цикъл, кйто да следи за времето. Това ми се струва доста тъпо, но не съм измислил нещо по-смислено.
И най-ярките личности си плащат тока.
| |
Тема
|
crontab
[re: TRlGGER]
|
|
Автор | crontab (Нерегистриран) |
Публикувано | 04.02.04 12:05 |
|
| |
Тема
|
Re: Обновяване на база данни
[re: TRlGGER]
|
|
Автор |
TRlGGER (:o)=) |
Публикувано | 05.02.04 15:44 |
|
Благодаря и на двамата!
Но имам малка промяна. Значи да не е автоматично, ами да го извършва потребителя. Тогава ми е ясно как да го направя, но в този случай важна роля играе времето което е изтекло между двете промени. Значи потребителя натиска submit бутона и трябва да измеря времето изтекло от предишното натискане. Мислех си да записвам датата и след това да изчислявам колко време е минало според новата дата при следващото натискане на бутона. Обаче ако имате някаква по-добра идея ще съм Ви изключителмо признателен.
| |
Тема
|
Re: Че какво и е лошото на ТАЗИ идея?
[re: TRlGGER]
|
|
Автор |
salle (един такъв) |
Публикувано | 06.02.04 18:29 |
|
Кажи каква ти е базата данни.
За MySQL ако предположим, че пазиш TIMESTAMP колонка ts
SELECT UNIX_TIMESTAMP() - UNIX_TIMESTAM(ts) AS seconds, SEC_TO_TIME(UNIX_TIMESTAMP() - UNIX_TIMESTAMP(ts)) AS hours
FROM tbl WHERE id= ...;
Ако искаш може да го препишеш така, че да ъпдейтваш някаква колонка примерно
time_sum = time_sum + ....
| |
Тема
|
Re: Че какво и е лошото на ТАЗИ идея?
[re: salle]
|
|
Автор |
TRlGGER (:o)=) |
Публикувано | 06.02.04 21:03 |
|
Реално вече ми е необходимо да изчисля часовете от едно действие(в случая sуbmit-ването на една форма), до следващото повтаряне на действието.
Автоматичното ъпдейтването вече не е необходимо. Та не знам как да изчисля миналите часове от един момент до друг.
| |
Тема
|
Re: Че какво и е лошото на ТАЗИ идея?
[re: TRlGGER]
|
|
Автор | check (Нерегистриран) |
Публикувано | 06.02.04 21:12 |
|
mi nai balamskia variant e da zapisvash datetime na vseko update/insert i pri opit za novo da checkvahs dali e minalo neobhodimoto vreme
| |
Тема
|
Re: Че какво и е лошото на ТАЗИ идея?
[re: check]
|
|
Автор |
TRlGGER (:o)=) |
Публикувано | 07.02.04 00:20 |
|
Да това и аз го мисля, да записвам датата на ъпдейта, ама не знам как да изчисля часовете които са минали до следващото ъпдейтване.
| |
Тема
|
Re: Обновяване на база данни
[re: TRlGGER]
|
|
Автор |
TRlGGER (:o)=) |
Публикувано | 09.02.04 12:46 |
|
Добре или по-друг начин казано като имам две дати как да сметна колко часа са минали между тях?
| |
Тема
|
Re: Обновяване на база данни
[re: TRlGGER]
|
|
Автор |
TRlGGER (:o)=) |
Публикувано | 10.02.04 13:39 |
|
E оправих се и сам. Просто ползвах time() ето така:
<?php
...
$old = 1076412734; //стойност получена при първия ъпдейт
$new = time(); // стойност получена сега при втория ъпдейт
$result = ($new - $old)/3600; //колко часа са минали
$result = (int) $result;
echo $result;
...
?>
Благодаря на всички все пак!
Редактирано от TRlGGER на 10.02.04 13:47.
| |
|
Страници по тази тема: 1 | 2 | (покажи всички)
|
|
|