Autorius Tema: Cron Job sukurimas.  (Skaityta 737 kartus)

eXpire

  • Svečias
Cron Job sukurimas.
« Įrašytas: 2012-11-19 15:13:22 pm »
Sveiki taigi reikėjo "kodo" kuris kas valandą tikrintu ar tikrai praėjo valanda ir pridėtu visiems nariams duomenų bazeje i lentelę reikšme +30.ty nepakeistu o pridėtu 30 . buvau rades kažkokių gidų apie cron job, bet niekaip neišėjo. turėjau seniau hostingą kur galėdavau viską per phpmyadmin pasidaryti, šiame hostine to neišeina, tad gal yra žmonių kurie galėtu padaryti "Meškos paslaugą" ir sukurti tokį kodą, ar bent jau pasakyti kaip sukurti :)

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Ats: Cron Job sukurimas.
« Atsakymas #1 Įrašytas: 2012-11-19 15:32:19 pm »
priklauso nuo tavo hostingo. pvz http://www.squirrel-host.com/ gali nurodyti kelia iki tavo php skripto, nurodyti laika kas kiek laiko bus jis vykdomas ir viskas.

Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

eXpire

  • Svečias
Ats: Cron Job sukurimas.
« Atsakymas #2 Įrašytas: 2012-11-19 15:54:11 pm »
Edit: pasidariau per phpmyadmin tą cronjob, tik vat nežinau kaip pats kodas turėtu atrodyti, kažkaip meginu ir niekaip nesigauna. aš bandžiau taip : UPDATE fusion_users SET user_tree=30 WHERE tree=1.
« Paskutinį kartą keitė: 2012-11-19 22:36:27 pm sukūrė eXpire »

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Ats: Cron Job sukurimas.
« Atsakymas #3 Įrašytas: 2012-11-20 14:03:10 pm »
tai tu visad atnaujini visus userius kuriems kazkoks tree yra = 1 user_tree i 30, tai to tu ir nori, kar kazko kitko?
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

Manualai.lt Forumas

Ats: Cron Job sukurimas.
« Atsakymas #3 Įrašytas: 2012-11-20 14:03:10 pm »

eXpire

  • Svečias
Ats: Cron Job sukurimas.
« Atsakymas #4 Įrašytas: 2012-11-20 15:01:38 pm »
Aš noriu, kad pridėtu prie jau turimų tą user_tree 30. bet išvis šis kodas net neveikia, jis nieko neprideda, ir nepakeičia.

user_tree yra nario "resuras" ir jeigu jis turi duomenu bazeje pastata lentelej tree kurio lygis lygu 1 t.y tree=1 tai tada jiems prideda kas valanda +30 pire user_tree. dabar gal aiškiau?
« Paskutinį kartą keitė: 2012-11-20 15:15:16 pm sukūrė eXpire »

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Ats: Cron Job sukurimas.
« Atsakymas #5 Įrašytas: 2012-11-20 15:51:11 pm »
tai pagal dabartine logika tu dabar turetum daryti uzklausu 10 jei 10 skirtingu to namo lvl yra, nes:


UPDATE fusion_users SET user_tree=30 WHERE tree=1
UPDATE fusion_users SET user_tree=60 WHERE tree=2
UPDATE fusion_users SET user_tree=120 WHERE tree=3
...

kas yra negerai, todel kad dabar tu nurodai kad nesvarbu kokia user_tree reiksme yra, ji tampa = 30, 60, 120..



as tavo vietoj daryciau taip: pasiemi user'i (SELECT) ir turi jo visus levelius, tree ir tikriausiai dar kokius nors stone, food ar dar kazka ir tada jei jis dar neturi max resursu kiek gali tureti darai UPDATE jam:
SELECT * from fusion_users WHERE id = 1; // tarkim user kuri tikrini id = 1 ir tarkim kad stulpelis id yra userio id. as nezinau tavo sql strukturos.

su php fetch'a padarai ir turi kiek jis ko turi ir kokie leveliai ir paskaiciuoji naujus resursu kiekius ir juos updeitini

UPDATE fusion_users SET user_tree=$naujas_kiekis_medzio, user_food = $naujas_kiekis_maisto WHERE id = 1


tik kadangi tu tikriausiai turi ne 1 useri o X tai is pradziu paselektink visus aktyvius userius ir suk while($fetch = mysql_fetch_object($sql_result)){} ir visus tuos update'us daryk ciklo viduj.

Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

eXpire

  • Svečias
Ats: Cron Job sukurimas.
« Atsakymas #6 Įrašytas: 2012-11-20 16:54:03 pm »
tai pagal dabartine logika tu dabar turetum daryti uzklausu 10 jei 10 skirtingu to namo lvl yra, nes:


UPDATE fusion_users SET user_tree=30 WHERE tree=1
UPDATE fusion_users SET user_tree=60 WHERE tree=2
UPDATE fusion_users SET user_tree=120 WHERE tree=3
...

kas yra negerai, todel kad dabar tu nurodai kad nesvarbu kokia user_tree reiksme yra, ji tampa = 30, 60, 120..



as tavo vietoj daryciau taip: pasiemi user'i (SELECT) ir turi jo visus levelius, tree ir tikriausiai dar kokius nors stone, food ar dar kazka ir tada jei jis dar neturi max resursu kiek gali tureti darai UPDATE jam:
SELECT * from fusion_users WHERE id = 1; // tarkim user kuri tikrini id = 1 ir tarkim kad stulpelis id yra userio id. as nezinau tavo sql strukturos.

su php fetch'a padarai ir turi kiek jis ko turi ir kokie leveliai ir paskaiciuoji naujus resursu kiekius ir juos updeitini

UPDATE fusion_users SET user_tree=$naujas_kiekis_medzio, user_food = $naujas_kiekis_maisto WHERE id = 1


tik kadangi tu tikriausiai turi ne 1 useri o X tai is pradziu paselektink visus aktyvius userius ir suk while($fetch = mysql_fetch_object($sql_result)){} ir visus tuos update'us daryk ciklo viduj.

Ačiū už pagalbą, tikrai labai padedi, o žiūrėk dabar kilo man klausymas jeigu aš pasidarysiu šitaip ar labai apkrausiu duombaze ar yra irgi geras variantas ? :
čia yra cronjob.php failas.
$result = dbquery("SELECT * FROM ".DB_USERS."");
if (dbrows($result)) { $user_data = dbarray($result); }
$formule1 = $user_data['user_tree'] + 30;
$formule2 = $user_data['user_tree'] + 60;
if($user_data['tree'] == 1){
$query = "UPDATE fusion_users SET user_tree='$formule1';";
mysql_query($query);
}
if($user_data['tree'] == 2){
$query = "UPDATE fusion_users SET user_tree='$formule2';";
mysql_query($query);
}

« Paskutinį kartą keitė: 2012-11-20 17:26:32 pm sukūrė eXpire »

Neprisijungęs Lukas Liesis

  • Administratorius
  • Herojus
  • ******
  • Įrašai: 7385
  • Karma: +226/-15
    • Žiūrėti profilį
    • mano CV
Ats: Cron Job sukurimas.
« Atsakymas #7 Įrašytas: 2012-11-20 18:06:10 pm »
tavo kintamuju pavadinimai labai neaiskus tokie kaip $formule1 nieko tau nesako realiai kas tai per reiksme, geriau rasyk $new_tree_value = xxx; ir nerasyk if'u kiekvienam leveliui, o tiesiog formule bendra resursu skaiciavimu

function get_new_resource_count($have_resources, $lvl){
   return $have_resources + $lvl * 10;
}

aisku gali sudetingesne apsirasyti formule, isivesti kokiu kintamuju nykstanciu arba didejanciu, kad islaikyti bendra zaidimo balansa.. Jei jau kuri zaidima, siulau visu resursu, leveliu ir kitu dalyku augimo kreives issipiesti ir panagrineti jas ar kazkuriuo metu nera taip, kad zaidejas tampa nenugalimas arba jam kaip tik yra ziauriai sunku kanors bepadaryti.

apskirtai darant zaidima siulau pasidometi kaip kuriami zaidimai. as pats perejau sita kursa: https://www.coursera.org/course/gamification tai galiu rekomenduoti, tikrai geras.
Jūsų draugas, kolega ir puslapio administratorius,

Lukas.

Manualai.lt Facebooke
serveriai.lt 50% nuolaida!
Free Hosting
Free Templates

eXpire

  • Svečias
Ats: Cron Job sukurimas.
« Atsakymas #8 Įrašytas: 2012-11-20 18:21:11 pm »
Ačiū Lukai, labai padėjai, kreives jau turime lygtis ( formules ) irgi jau beveik visas, teliko šektiek vaizduotės ir darbo. ir norėčiau tau labai padėkoti už pagalbą, pasidariau šitą funkciją pagal formulę viskas puikiai veikia AČIŪŪŪ :))
Smagu, kad atsiranda tokių žmonių :)
« Paskutinį kartą keitė: 2012-11-21 21:57:30 pm sukūrė eXpire »

Manualai.lt Forumas

Ats: Cron Job sukurimas.
« Atsakymas #8 Įrašytas: 2012-11-20 18:21:11 pm »