[ALG] Random foto

Pagina: 1
Acties:

  • xces
  • Registratie: Juli 2001
  • Laatst online: 13:03

xces

To got or not to got..

Topicstarter
Mijn "cms" (whats in a name) fotogedeelte is opgesplitst in categorieen en albums, beetje standaard, maar het geheel staat wel al in een SQL tabel door middel van een aangepaste MPTT structuur. Aangepast in die zin dat ik ook het volgende opsla (bestand/folder, datums (atime, ctime en mtime), grootte (indien bestand). Dit zodat ik zo min mogelijk filesystem hits heb en het geheel dus zo snel mogelijk kan maken.

Van de laatst geuploadde foto's wil ik voor iedere bezoeker een random foto laten zien. Dit wil ik echter wel zo doen, dat het aan de volgende criteria voldoet;
- Foto mag niet 2x voorkomen
- Random foto's mogen enkel gekozen worden uit de laatste upload batch. (upload datum)
- Er moet een evengroot aandeel van foto's uit iedere categorie en ieder album worden getoond.

Ik wil graag weten hoe ik dit technisch op zou kunnen lossen. Niet "code" maar meer "denkwijze". Zelf zie ik het in ieder geval zo voor me (oplossingen t.o.v. genoemde punten);

- Zodra een foto is gekozen, zet je het "getoond" bitje op "1". Als er geen foto's meer over zijn, zet je alle bitjes weer op "0".

- Meerdere categorieen, albums en foto's verspreid over evenveel albums kunnen op 1 dag aangepast worden. Aangezien de hele structuur in een SQL tabel staat, kan er dus gesorteerd worden op datum DESC, zodat de laatste datum bovenaan staat.

- Iedere klant heeft 1 categorie voor zich. Ik wil het dus zo maken, dat iedere categorie evenveel uitgekozen zal worden. Nu is het natuurlijk zo dat iedere categorie een ander aantal albums en/of foto's heeft, waardoor een categorie met meerdere foto's vaker uitgekozen zal worden omdat daar de hitkans gewoonweg groter voor is. Dus dat wil ik van te voren af gaan vangen door het aantal foto's te gaan gelijktrekken, dat lijkt mij in ieder geval de beste methode. Veel verder dit laatste punt ben ik nog niet gekomen.

Hebben jullie hier misschien tips voor?

  • storeman
  • Registratie: April 2004
  • Laatst online: 01-12 09:22
Het random gehalte wordt al een stuk lager als ik je verhaal zo lees.
Maar wat is nu je vraag. Als ik je verhaal zo lees, krijg ik de indruk dat je precies weet wat je wilt.

Verder als jij het klant (bezoeker?) specifiek wil tonen, zul je iets moeten doen met cookies om bij te houden welke foto's er al getoond zijn en uit welke categorien, op basis van gegevens in die cookie zul jij dan een query moeten opstellen die een 'random' foto voor je uit de database trekt.

Even een kritische vraag, heeft het zin hier zoveel ontwikkeling in te stoppen als de bezoeker het hoogst waarschijnlijk niet eens door heeft?

[ Voor 11% gewijzigd door storeman op 12-02-2007 10:50 ]

"Chaos kan niet uit de hand lopen"


  • xces
  • Registratie: Juli 2001
  • Laatst online: 13:03

xces

To got or not to got..

Topicstarter
True, maar de klant heeft het wel door. Het is namelijk een portal website waar veel verschillende "bedrijven" op zullen komen. Ieder bedrijf moet ongeveer evenveel in the picture staan.

Als ik het trouwens met cookies op ga slaan, is het clientside. Dan weet de volgende bezoeker niet meer welke foto het laatst getoond is.

[ Voor 27% gewijzigd door xces op 12-02-2007 13:55 ]


  • BasieP
  • Registratie: Oktober 2000
  • Laatst online: 19-10 08:18
xces schreef op maandag 12 februari 2007 @ 13:53:
True, maar de klant heeft het wel door. Het is namelijk een portal website waar veel verschillende "bedrijven" op zullen komen. Ieder bedrijf moet ongeveer evenveel in the picture staan.

Als ik het trouwens met cookies op ga slaan, is het clientside. Dan weet de volgende bezoeker niet meer welke foto het laatst getoond is.
een goede random functie heeft geen voorkeur voor een bepaald bedrijf natuurlijk. Dus dat is een vrij loos argument (als ik het zo bot mag zeggen)

This message was sent on 100% recyclable electrons.


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Iedere klant heeft 1 categorie voor zich
Mooi, random een categorie keizen en de exposure van bedrijven is eerlijk verdeeld. :) Vervolgens kan je natuurlijk uit die categorie de nieuwste foto pakken, of een random foto of, of of... leef je uit.

Al die boekhouding mbt welke client welke foto al gezien heeft moet je niet aan beginnen. Keep it simple stupid.

{signature}


  • xces
  • Registratie: Juli 2001
  • Laatst online: 13:03

xces

To got or not to got..

Topicstarter
Goed idee, zo simpel had ik het nog niet bekeken ;)

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Wat je zoekt bij een "eerlijke" spreiding is niet zozeer een random beslissing om een bedrijf te tonen, maar een random volgorde. De technische term is "shuffle" zoals bij een dek kaarten. Je wil bij je online poker programma ook niet dat er 20 schoppenazen vallen :)

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • Voutloos
  • Registratie: Januari 2002
  • Niet online
Shuffle? Ik vind permutatie een mooiere technische term. :+ Maar dan moet je wel alsnog corrigeren voor het feit dat niet elk bedrijf evenveel foto's heeft. :)
Ja, je kan er iets heel moois van maken, met heel veel regeltjes en bookkeeping, maar de eenvoudige aanpak is gewoon 1 catergorie per bedrijf en eerlijk een categorie kiezen. Het kan vast mooier, maar waarschijnlijk ook ingewikkelder. En is het die moeite tov de eenvoudige aanpak wel waard?

{signature}

Pagina: 1