Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Upit na svaka dva dana...

[es] :: PHP :: Upit na svaka dva dana...

[ Pregleda: 2710 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

mitar2005

Član broj: 52472
Poruke: 17
*.gromnet.net.



Profil

icon Upit na svaka dva dana...04.11.2006. u 22:11 - pre 212 meseci
Pozdrav,

treba da napisem skriptu koja ce da prikazuje razlicite podatke na svaka dva/tri dana.
Za bazu koristim mySQL. Dakle imam sledece:

Code:

id | polje1 | polje2
------------------
1    test1     test1
2    test2     test2
3    test3     test3


e sad mi treba npr. ako je danas 4-11-2006 da prikaze test2 i da ga mu stavi flag da je prikazan kako se vise ne bi prikazivao (to i nije problem), e sad npr. 7-11-2006 treba da prikaze test2 itd... moze i po random redosledu to je vec stvar izbora, bitnije mi je ovo sto je vezano za datum.


Hvala.
 
Odgovor na temu

Davor Grubelić
Davor Grubelić

Član broj: 46879
Poruke: 280
*.cmu.carnet.hr.

Jabber: nameless21@elitesecurity.org
ICQ: 341103380


Profil

icon Re: Upit na svaka dva dana...05.11.2006. u 11:32 - pre 212 meseci
trbao bi još u bazu dodati polje u koje će se upisivati datum kada je skripta izvršena. php je server-side skriptni jezik, što bi značilo da se skripta neće sama izvršiti ukoliko je netko ne pozove. moraš sam svaka dva-tri dana pokretati skriptu koja će ti onda prikazati što si već ti naumio da prikaže.
sad da pojasnim:
kad se skripta izvrši u bazu se upiše datum kada je skripta izvršena.
kada drugi puta izvršiš skriptu uzmeš datum iz baze i usporediš ga sa trenutnim datumom.
ako je razlika veća od 2-3 dana ponovo izvršiš skriptu, a ako nije .....ništa..prekineš sa izvršavanjem.

ali kontam da ti vjerojatno trebaš kod???
 
Odgovor na temu

genjerator
novi sad

Član broj: 49324
Poruke: 12
*.net
Via: [es] mailing liste



Profil

icon Re: Upit na svaka dva dana...05.11.2006. u 12:47 - pre 212 meseci
A da li se moze ovako nesto uraditi?
Da se napravi beskonacna petlja, i u njoj stavi delay na 2 dana i
odradi sa mysqlom sta treba, pa da skripta radi non stop na serveru?
Da se ne mora uvek rucno pokretati skripta.

[Ovu poruku je menjao genjerator dana 05.11.2006. u 14:34 GMT+1]
 
Odgovor na temu

japan

Član broj: 34328
Poruke: 480
*.smin.sezampro.yu.



+13 Profil

icon Re: Upit na svaka dva dana...05.11.2006. u 15:13 - pre 212 meseci
može, ali to baš i nije neko rešenje. ako imaš cron na serveru, možeš da podesiš da ti se skripta izvršava u željenim intervalima, a ako nemaš, postoje slični servisi po netu - prijaviš url svoje skripte i interval, i skripta se izvršava u tom intervalu.
 
Odgovor na temu

mitar2005

Član broj: 52472
Poruke: 17
*.gromnet.net.



Profil

icon Re: Upit na svaka dva dana...05.11.2006. u 17:00 - pre 212 meseci
Meni skripta ne treba da se izvrsava svakih N dana, nego da svaki N dan prikaze razlicit podatak iz baze.
 
Odgovor na temu

zikaa
Zivorad Antonijevic
Beograd

Član broj: 10078
Poruke: 107
195.252.90.*

Sajt: zantonijevic.com


+1 Profil

icon Re: Upit na svaka dva dana...05.11.2006. u 18:17 - pre 212 meseci
CREATE TABLE tabela(id INT UNSIGNED NOT NULL, polje1 TEXT, polje2 TEXT, start_time TIMESTAMP NULL, current TINYINT NULL DEFAULT 0)

Code:

<?php
define('INTERVAL',2);;//dana
$table='table';
$db='db';
$user='user';
$password='password';
$host='localhost';

mysql_connect($host,$user,$password) or die('Ne mogu se konektovati');
mysql_select_db($db) or die ('Ne mogu selektovati bazu');


/** da li je trenutna mozda zastarela **/
mysql_query("UPDATE $table SET current=0 WHERE start_time IS NOT NULL AND start_time > ".(time() - INTERVAL*60*60*24));
if(mysql_affected_rows()){ /* jedna je upravo prestala da  bude vazeca, postavimo novu  */
  mysql_query("UPDATE $table SET current=1, start_time=NOW()  WHERE start_time=NULL ORDER BY RAND() limit 1 ");
}

/** trazimo jdnu koja je na redu za prikaz **/
$query="SELECT * FROM $table WHERE `current`=1";
$res=mysql_query($query);

/** ako ne postoje vrste koje zadovoljavaju */
/** nije nijedna postavljena ili su sve potrosene **/
if(!mysql_num_rows()){
  $query="SELECT COUNT(*) AS  cnt FROM $table";
  $res=mysql_query($query);
  $row=mysql_fetch_assoc($res);

  if(!$row['cnt']){ /** tabela je prazna */
    die('tabela je prazna ');
  }
  else{  /** postavimo jednu na aktivnu */
    mysql_query("UPDATE $table SET current=1, start_time=NOW()  ORDER BY RAND() limit 1 ");
    $query="SELECT * FROM $table WHERE `current`=1";
    $res=mysql_query($query);

}

/** konacno dolazimo do nase vrste */
$row=mysql_fetch_assoc($res);
print_r($row);
?>

 
Odgovor na temu

mitar2005

Član broj: 52472
Poruke: 17
*.gromnet.net.



Profil

icon Re: Upit na svaka dva dana...05.11.2006. u 18:51 - pre 212 meseci
Hvala, fali } na kraju.
No, meni ovo ne radi, tacnije, nakon osvezavanja strane dobijam razlicite podatke, a treba da mi pokazuje, npr. samo za danas, pa posle dva dana da prikaze sledeci, ili random nije ni bitno, samo da se ne ponavljaju.
 
Odgovor na temu

zikaa
Zivorad Antonijevic
Beograd

Član broj: 10078
Poruke: 107
195.252.90.*

Sajt: zantonijevic.com


+1 Profil

icon Re: Upit na svaka dva dana...05.11.2006. u 19:08 - pre 212 meseci
je si li pogledao log ili nesto gde je greska, da li si napravio tabelu , upisao dobar username, passowrd i sl

ako vec imas tabelu i neces da pravis novu uradi
Code:

ALTER TABLE tabela ADD COLUMN start_time TIMESTAMP NULL,  ADD COLUMN current TINYINT NULL DEFAULT 0
 
Odgovor na temu

mitar2005

Član broj: 52472
Poruke: 17
*.gromnet.net.



Profil

icon Re: Upit na svaka dva dana...05.11.2006. u 21:20 - pre 212 meseci
Ma ok je to sve, samo npr. on mi prikaze jedan podatak i njemu stavi current 1, kad osvezim stranu prikaze opet taj, treci put kad osvezim, prikaze drugi podatak i onda za njega stavi current 1 a drugi vrati na 0. U tome je problem. Meni treba da prikaze taj prvi i njega da prikazuje sve vreme dok ne prodje 2-3 dana, nakon 2-3 dana prikazuje sledeci.
 
Odgovor na temu

zikaa
Zivorad Antonijevic
Beograd

Član broj: 10078
Poruke: 107
195.252.90.*

Sajt: zantonijevic.com


+1 Profil

icon Re: Upit na svaka dva dana...05.11.2006. u 21:30 - pre 212 meseci
ja sam pogresio, trebalo je umesto

Code:
mysql_query("UPDATE $table SET current=0 WHERE start_time IS NOT NULL AND start_time > ".(time() - INTERVAL*60*60*24));


staviti
Code:
mysql_query("UPDATE $table SET current=0 WHERE start_time IS NOT NULL AND start_time < ".date("YmdHis",(time() - INTERVAL*60*60*24)));


[Ovu poruku je menjao zikaa dana 06.11.2006. u 18:29 GMT+1]
 
Odgovor na temu

mitar2005

Član broj: 52472
Poruke: 17
*.gromnet.net.



Profil

icon Re: Upit na svaka dva dana...05.11.2006. u 21:52 - pre 212 meseci
Hmm, opet isti problem, svaki refresh druga prica :(
Isto tako i kad promenim datum na serveru.
 
Odgovor na temu

mitar2005

Član broj: 52472
Poruke: 17
*.gromnet.net.



Profil

icon Re: Upit na svaka dva dana...07.11.2006. u 13:36 - pre 212 meseci
Ima li pomoci ljudi?
 
Odgovor na temu

zikaa
Zivorad Antonijevic
Beograd

Član broj: 10078
Poruke: 107
*.beotel.net.

Sajt: zantonijevic.com


+1 Profil

icon Re: Upit na svaka dva dana...07.11.2006. u 16:30 - pre 212 meseci
Ima pomoci. Citaj pazljivo odgovore.:)
 
Odgovor na temu

mitar2005

Član broj: 52472
Poruke: 17
*.gromnet.net.



Profil

icon Re: Upit na svaka dva dana...07.11.2006. u 19:54 - pre 212 meseci
Citam, ali mi slabo ide od ruke. Mislim da je tvoj kod najblizi resenju, ali ne mogu da nadjem nacin da ga doteram da radi kao sto meni treba.
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
212.200.145.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Upit na svaka dva dana...07.11.2006. u 22:41 - pre 212 meseci
Jel ti treba rešenje preko MySQL upita ili "daj šta daš"
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

mitar2005

Član broj: 52472
Poruke: 17
*.gromnet.net.



Profil

icon Re: Upit na svaka dva dana...07.11.2006. u 23:03 - pre 212 meseci
Kako god, samo da mi zavrsi posao. Ako mozhe kao sto je napisao zikaa, primer ceo :)

Imas pivo :)
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
212.200.145.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Upit na svaka dva dana...08.11.2006. u 09:51 - pre 212 meseci
E da sam dobio dinar ili pivo za svaki put kad sam čuo to "imaš pivo" sad bih bio ili bogat ili alkoholičar

Enivej, sad nemam vremena, idem na neku slavu, pa ako ti niko ne odgovori dok se ne vratim videću da napravimo nešto, kakvo-takvo, ali da radi.
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
Odgovor na temu

mitar2005

Član broj: 52472
Poruke: 17
*.gromnet.net.



Profil

icon Re: Upit na svaka dva dana...08.11.2006. u 11:22 - pre 212 meseci
Dobro, hvala u napred.
 
Odgovor na temu

Nemanja Avramović
Engineering Manager
MENU Technologies
Beograd, Srbija

Moderator
Član broj: 32202
Poruke: 4391
212.200.145.*

Sajt: https://avramovic.info


+46 Profil

icon Re: Upit na svaka dva dana...08.11.2006. u 20:42 - pre 212 meseci
Evo... ako si na unix hostingu, chmod avram.dat na 777
Ovo je odrađeno tako da se poruka sa jednim IDom prikazuje na 2 dana (broj dana izmeni u konekcija.php fajlu), i da se posle tih par dana ne može ponoviti poruka sa tim IDom (ali za još par dana može da se ponovi). Ako želiš da se ta poruka nikad više ne ponovi onda verovatno moraš da dodaš još jednu kolonu u koju ćeš po prikazu poruke da upišeš da se prikazala, a pre prikaza da proveravaš da li se ona već prikazivala, pa ako nije, onda da je ispišeš.
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
 
Odgovor na temu

mitar2005

Član broj: 52472
Poruke: 17
*.gromnet.net.



Profil

icon Re: Upit na svaka dva dana...08.11.2006. u 22:04 - pre 212 meseci
Hvala ti puno. Dodacu samo ovo jos jedno polje i to je to, nadam se, ako budem imao prob. javicu. HVALA JOS JEDNOM!
 
Odgovor na temu

[es] :: PHP :: Upit na svaka dva dana...

[ Pregleda: 2710 | Odgovora: 19 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.