25. maj 2011 - 23:12Der er
8 kommentarer og 2 løsninger
Tidsbaseret udgivelse via. database
Hej. Jeg sidder i den situation, at jeg skal "udtænke" en ny plan for mit site som udgiver former for nyheder dagligt.
Problemet er at jeg har et arbejde ved siden af, og derfor i løbet af dagen ikke har mulighed for at udgive disse nyheder. Jeg har derfor tænkt mig at skrive dem før jeg tager afsted, også på en eller anden måde kan de automatisk udgives på siden i løbet af dagen.
F.eks. hvis jeg møder kl. 13:00 - 21:00
Så tilføjer jeg dem i databasen kl 12:00 f.eks. og sætter "udgivet" til "nej" og "tid" til 15:00
Hvis en gæst/besøgende så træder ind på siden kl 15:00 eller efter, så går en fil ind og tjekker til nyheder der ikke er udgivet og kigger på den tid jeg har sat - på den måde kan de automatisk blive udgivet.
Det lød mere enkelt i mit hoved :)! - Men er der nogen der har andre metoder? Jeg arbejder kun med ASP
Hvis du selv har kontrol over serveren kunne du sætte en "planlagt opgave" til at kalde en side på dit site, som sørger for udsendelsen.
Alternativt kan du sætte en anden maskine (som kører på det tidspunkt der skal udgives nyheder) til at gøre det samme som foreslået med serveren ovenfor.
Der findes vist noget som hedder cronjob (Google det!), hvor du kan sætte en handling til at blive udført på et givet tidspunkt.
Den i mine øjne letteste måde er at tilføje kun en "releaseDateTime" kolonne til din nyhedstabel og så snart det tidspunkt er overskredet er nyheden online - en "udgivet" kolonne med ja/nej er, i hvert fald i forhold til tidspunktet, lidt dobbeltkonfekt og skal kolonnen endelig med (hvilket selvfølgelig kan være reelt nok til andre henseender) så skal den bare være sat til ja og så vil datetime kolonnen styre om nyheden vises (altså begge kriterier opfyldt).
Ja, idéen med cronjob er kun relevant, hvis det rent faktisk er nødvendigt at der udføres en handling for at offentliggøre nyheden (f.eks. sende en mail eller lign.), ellers ville jeg også vælge den metode som keysersoze skitserer, hvor nyheden blot bliver synlig hvis et givet tidspunkt er overskredet...
softspot - > Det med at have en anden maskine kørende på det tidspunkt er præcis det jeg mente. Bare hvor en besøgende kører filen. F.eks. kunne jeg inkludere scriptet ind i min database-fil som køres på alle sider, og her kunne den tjekke hvad klokken er, og derved se om den skal udgives. Der er konstant folk online på siden, så det bliver ikke et problem.
Keysersoze - > releaseDateTime. Præcis :) Jeg forstår godt din mening med den ekstra kolonne "udgivet".
Så det er altså også den letteste måde i jeres verden, at gøre det på den måde ?
Jeg er enig med keysersoze, det bør være et simpelt tjek på udgivelsestidspunktet i det øjeblik siden med nyhederne vises, der afgør om en nyhed er synlig eller ej.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.