Autor Zpráva
Randy
Profil *
Zdravim vas,
potreboval bych poradit, nejspis to nebude nic slozityho, ale jelikoz s PHP zacinam, nejak se mi to nepodarilo vymyslet... Potreboval bych generovat cislo, ktery by se ale dejme tomu pro jeden den, vygenerovalo pokazdy stejny, treba podle klice, podobne jako kdyz se neco sifruje. Zkratka ze bych mel treba $time=time(); $date=("Y.m.d", $time) coz by slouzilo jako klic a podle toho by se z nejakyho intervalu cisel pro kazdej den vzdycky nahodne vybralo cislo, ale pri kazdym spusetni skriptu by to bylo to stejny... slo by to?? Diky moc...
DJ Miky
Profil
md5($date) a ukládat si to někam (do DB nebo souboru).
Randy
Profil *
Dik, ale myslel jsem to trochu jinak :-) Ja potrebuju nahodne vybrat cely cislo, napriklad Rand(1,5), ale potrebuju aby se po cely den vybralo pokazdy to samy, druhej den by se zase nahodne vybralo jiny cislo, a zase by platilo po cely den, prave jsem myslel pouzit jako klic to datum, jen nevim jak to udelat?
tiso
Profil
najjednoduchšie: $cislo=date("d"); potom to preveď na timestamp, mohlo by to stačiť..
HonzaH2
Profil
a potrebuju nahodne vybrat cely cislo, napriklad Rand(1,5), ale potrebuju aby se po cely den vybralo pokazdy to samy

tak si vymysli vlastní algoritmus z toho datumu. Třeba den krát měsíc krát rok, to zaokrouhli a máš celé číclo, které bude v jeden den pořád stejné, ale různé v jiné dny. Algoritmus si vymysli vlastní, ten co jsem uvedl já ti vygeneruje stejný číslo v den 1.2.2007 a v den 2.1.2007 ... apod. Pokud bys to nechtěl, tak stačí měsíc ještě násobit třeba stem :o)
Randy
Profil *
Diky, to je chytry :-) Ale taky to neni uplne ono... Mam v DB 5 poli Text1 - Text5, v kazdym ruzny texty. Tvym resenim bych ziskal cislo 1-31, Ale ja potrebuju pouze cisla 1-5... Ted tam mam Rand(1,5); a podle toho vyberu ten text z DB. Jenze pri kazdym spusteni se logicky vybere jiny texty, a ja potrebuju aby se pro kazdej den vybral sice nahodne, ale pak uz vzdycky ten stejnej... Jde to?
Alphard
Profil
nešlo by to bez algoritmů?
co třeba naplnit tabulku (sloupce: datum, rand) v databázi náhodnýma čísla a pak vytahovat stylem:
select rand from cisla where datum = dnesni_datum
HonzaH2
Profil
Pokud potřebuješ jen čísla 1 až 5, tak vygeneruj číslo některým z výše uvedených způsobů (třeba co radil tiso) a z toho čísla pak ořízni poslední cifru, tu vyděl dvěma, zaokrouhli na celé číslo a přičti jedničku - pak budeš mít jistotu, že číslo bude v rozmezí 1 až 5 :o)
Toto téma je uzamčeno. Odpověď nelze zaslat.