[ Milan Kragujevic @ 20.07.2011. 11:03 ] @
kako da php svakih 2 minuta vrši upit i daje mi vrednosti iz baze koji imaju isti datum i slično vreme???
imam bazu:
id | datum | korID | vreme | sadrzaj
1 | 20.07 | 98 | 19:30 | sastandgdfhbf hedshgbla bla bla
2 | 22.07 | 103 | 20:32 | sastanadsgdfbla bla
3 | 10.07 | 58 | 14:25 | sastadgfdgbla
4 | 25.03 | 42 | 18:43 | ssdbvfcb
i hoću da skripta (koju pokreće kron svaki 2 minuta) pokupi vrednosti iz baze kojima je vreme najsličnije sadašnjem, a datum isti...
onda ću ja posle kroz petlje da razdelim mejlove prema korisnicima (jos jedan upit)
Hvala unapred!
[ Zlatni_bg @ 20.07.2011. 13:14 ] @
Sta ti znaci slicno vreme? 2 Minuta gore-dole? I kog ti je tipa vrednost time u bazi?

Prvo preko PHP-a pokupis datum, onda pokupis trenutno vreme. A nije mi jasno, ako vec hoces da izvrsavas tu skriptu svaka 2 minuta, zasto ne mozes i svaki minut, pa ne bi imao problema da ces slucajno preskociti neki red?
[ dakipro @ 20.07.2011. 13:25 ] @
mozda da dodas i polje "last sent year" i onda kad saljes hvatas sve istog datuma, manjeg vremena i kome je last sent year prosla godina, tako ces sigurno svakom poslati ove godine iako ti kron stane iz nekog razloga, ili pukne slanje ili se nesto nepredvidjeno desi... svi kojima nisi ove godine poslao a prosao je potreban datum i potrebno vreme ce biti selektovani
[ Milan Kragujevic @ 20.07.2011. 13:27 ] @
znači ako pokrećem svakog 1 minuta neću morati da imam problem sa preskakanjem redova?
ok....
onda samo ostaje da izgradim upit.. možda bi moglo nešto ovako:
SELECT * FROM tabela_ime WHERE datum = '' . $datum . '' AND vreme = '' . $vreme . ''
definišem za datum dd/mm/yyyy
i vreme hh:mm
[ dakipro @ 20.07.2011. 13:33 ] @
da se nadovezem na moj prethodni predlog, mozda da unosis u jedno polje samo next_sending_datetime, i da ko unese datum i vreme ti ga uneses kada je sledeci rodjendan/alarm, i kad saljes kronom samo selektujes gde je proslo next_sending_datetime i svima se posalje... Ako je uspesno slanje samo promenis next_sending_date za sledecu godinu i tolko... isto eliminises problem slucajnog preskakanja ako kron stane ili se nesto nepredvjidjeno desi. Po meni mnogo bolje nego da se uzdas da ce kron svaki minut obavezno da okine i zaista posalje mail.
[ Milan Kragujevic @ 20.07.2011. 13:55 ] @
to nije za rođendane.. to je podsetnik.. nije loša ideja.. ali već postaje komplikovnao za moj nivo znanja
jel može ovako:
Code (php):

$datum = date('d/m/y');
$vreme = date('h:i');
$odabir = mysql_query('SELECT * FROM obaveze WHERE datum = \'' . $datum . '\' AND vreme = \'' . $vreme . '\');
$rezultati = mysql_fetch_array($odabir);

foreach($rezultati as $kron){
$uid = $kron['
korID'];
$korisnik = mysql_query('
SELECT email FROM korisnici WHERE uid = \'' . $uid . '\');
$mail = mail(korisnik['
email'], 'Podsetnik', $kron['sadrzaj']);
if($mail) {
mysql_query("UPDATE obaveze SET poslato='
1' WHERE id='" . $kron['id'] . "');
} else {
mysql_query("UPDATE obaveze SET poslato='
0' WHERE id='" . $kron['id'] . "');
}
}

////////////////////////////////////////////////////////////////////

$odabir_2 = mysql_query('
SELECT * FROM obaveze WHERE poslato=\'0\' ');
$rezultati_2 = mysql_fetch_array($odabir_2);

foreach($rezultati_2 as $kron_2){
$uid = $kron['korID'];
$korisnik_S3 = mysql_query('SELECT email FROM korisnici WHERE uid = \'' . $uid . '\');
$korisnik = mysql_fetch_array($korisnik_S3);
$mail = mail(korisnik['
email'], 'Podsetnik (sa zakašnjenjem)', $kron['sadrzaj']);
if($mail) {
mysql_query("UPDATE obaveze SET poslato='
1' WHERE id='" . $kron['id'] . "');
} else {
mysql_query("UPDATE obaveze SET poslato='
0' WHERE id='" . $kron['id'] . "');
}
}


[Ovu poruku je menjao Milan Kragujevic dana 21.07.2011. u 14:54 GMT+1]
[ dakipro @ 20.07.2011. 14:33 ] @
A cek, jel ovo one-time podsetnik samo? Ako jeste zasto onda imas datum bez godine?
Ako ti treba jednom samo, najbolje stavi jedno polje za date-time i ovo drugo 'poslato', i onda saljes svima kojima je prosao date-time i 'poslato' = 0, odmah zatim setujes poslato na 1 i kraj price.
mislim da si ga previse zakomplikovao ako je one-time podsetnik... ja vidim datum bez godine, pa reko to svake godine treba da se posalje

Usput, u drugom upitu 'SELECT * FROM obaveze WHERE poslato=\'0\' '); nemas datum relevantan, pa ce poslati svima kojima nikada nije poslao
[ Milan Kragujevic @ 20.07.2011. 14:37 ] @
Code (php):

$datum = date('d/m/y');
$vreme = date('h:i');
$odabir = mysql_query('SELECT * FROM obaveze WHERE datum = \'' . $datum . '\' AND vreme = \'' . $vreme . '\');
$rezultati = mysql_fetch_array($odabir);

foreach($rezultati as $kron){
$uid = $kron['
korID'];
$korisnik = mysql_query('
SELECT email FROM korisnici WHERE uid = \'' . $uid . '\');
$mail = mail(korisnik['
email'], 'Podsetnik', $kron['sadrzaj']);
if($mail) {
mysql_query("UPDATE obaveze SET poslato='
1' WHERE id='" . $kron['id'] . "');
} else {
mysql_query("UPDATE obaveze SET poslato='
0' WHERE id='" . $kron['id'] . "');
}
}

////////////////////////////////////////////////////////////////////

$odabir_2 = mysql_query('
SELECT * FROM obaveze WHERE poslato=\'0\' ');
$rezultati_2 = mysql_fetch_array($odabir_2);

foreach($rezultati_2 as $kron_2){
$uid = $kron['korID'];
$korisnik_S3 = mysql_query('SELECT email FROM korisnici WHERE uid = \'' . $uid . '\');
$korisnik = mysql_fetch_array($korisnik_S3);
$mail = mail(korisnik['
email'], 'Podsetnik (sa zakašnjenjem)', $kron['sadrzaj']);
if($mail) {
mysql_query("UPDATE obaveze SET poslato='
1' WHERE id='" . $kron['id'] . " AND datum='" . $datum . "');
} else {
mysql_query("UPDATE obaveze SET poslato='0' WHERE id='" . $kron['id'] . " AND datum='" . $datum . "');
}
}

Da, one-time

[Ovu poruku je menjao Milan Kragujevic dana 21.07.2011. u 14:53 GMT+1]
[ Zlatni_bg @ 21.07.2011. 02:47 ] @
U 8. liniji koda si zaboravio $ ispred promenljive.

I ne mozes tako da "hvatas" podatke iz MySQL baze. Treba ti fetch_array ili nesto slicno, u suprotnom ce ti izlaziti verovatno samo "Resource ID #4" itd. Proveri prvo kod pre nego sto ga ovde okacis, nemoj svako nagadjanje da stavljas na forum. Ovo ne moze da radi nikako.
[ Milan Kragujevic @ 21.07.2011. 07:41 ] @
znam da ne može da radi ;)
to je najgora teorija....
nisam ga ni pisao da može da radi ;)
već samo da se dobije kako i šta...

verziju koja radi ću ja napraviti danas...
[ Zlatni_bg @ 21.07.2011. 12:58 ] @
Pisao si ga da ne moze da radi? Kakva teorija?


Inace video sam u drugoj temi da zelis da kopiras neciju ideju, sto se tice tog podsetnika, i da te je doticna "firma" primetila jos pre mesec dana...
[ Milan Kragujevic @ 21.07.2011. 13:14 ] @
ja sam imao podsetnik još 2010, tako da ne mogu da kažu da kopiram ništa.
Citat:
Zlatni_bg: Pisao si ga da ne moze da radi? Kakva teorija?

Pa vidiš, kada mi neko kaže kako, ja napišem kod... ovo u poruci je "skica".. nacrt...
[ Zlatni_bg @ 21.07.2011. 13:27 ] @
Pa kako ocekujes da ti neko pomogne kad ovde izbacis kod koji ne radi, na osnovu cega da ti pomognemo? Ja ne znam sta hoces da mi vidimo iz tog "nacrta" kako ga ti zoves... posto to nije nacrt sigurno.
[ Milan Kragujevic @ 21.07.2011. 13:47 ] @
Sve is naopako razumeo...
Pročitaj sve eizpočetka..
TAJ KOD SAM TEK POSLE NAPISAO KAO PRIMER ONOGA ŠTO ĆU STVARNO DA URADIM
nemoj u offtopic, rešeno je