login  Naam:   Wachtwoord: 
Registreer je!
 Forum

lijst met paar duizend favorieten bijhouden, hoe?

Offline butters - 24/11/2007 20:53
Avatar van buttersNieuw lid het volgende:

stel ik heb (bijvoorbeeld) een boekenlijst van een paar duizend boeken. Nu heb ik ook een gebruikerslijst met een paar honderd man, en nu wil ik dat die een favorietenlijst kunnen bijhouden.
Hoe pak ik dat het slimst aan? Dump ik alle boeken id's gewoon in een array en dan
  1. if(in_array($boekid,$favos))echo $favorietenplaatje;
?
Punt is dat ik dus met een enorme array zit met een paar honderd of mss wel duizenden boeken die iemand in zn favorietenlijst kan hebben...?

Je zou favorietenlijst hier ook als een "hey, die heb ik ook"-lijst kunnen lezen 

5 antwoorden

Gesponsorde links
Offline timmie_loots - 24/11/2007 21:24
Avatar van timmie_loots PHP gevorderde Heb je het allemaal in een MySQL database staan? In dat geval hier even bij de tutorials kijken bij MySQL en dan de tutorial JOINS.
Offline butters - 24/11/2007 21:30
Avatar van butters Nieuw lid uiteraard, alleen de vraag is juist HOE sla ik de userfavolijst daarin op? Als een array, of een komma separated lijst, of ... daar hebben joins toch niets mee nodig?
Offline Nanon - 24/11/2007 21:39
Avatar van Nanon PHP interesse Nee, dat soort dingen moet je niet gaan scheiden met comma's etc. Want dat is alleen maar extra laadtijd.

Je hebt een tabel "favorieten" genaamd, hierin heb je twee velden.
- gebruiker_id
- boek_id

Als een gebruiker een boek toevoegd aan zijn/ haar favorieten voeg je simpelweg het id van de gebruiker én het boek toe. Door middel van een JOIN kan je een lijst creëren waardoor je de titels en de gebruikersnaam kan laten weergeven.
Offline vinTage - 24/11/2007 22:46
Avatar van vinTage Nieuw lid Ik ben het eens met wat Nanon zegt, maar ik zou er een LIMIT aan knopen, niemand is namelijk geintereseerd in alle 3749 boeken van anderen.

Met andere woorden:

bekijk iemands profiel => zie gelijk zijn top 10 (ofzo) / klik op "zie al mijn favo's => SELECT from ..WHERE id ='dien_ene'"
Offline butters - 24/11/2007 23:13
Avatar van butters Nieuw lid ok, er begint wat duidelijk te worden.. Waar het mij echter om gaat is dat wanneer men een boek bekijkt er een plaatje moet afgebeeld worden om aan te geven dat de bekijker dat boek ook in zijn collectie heeft.

Dus dan wordt het zoiets denk ik:

select from favorieten where boek_id = '55252879' and user_id = '44215' limit 0,1
(limit is overbodig bedenk ik me nu)
if(mysql_num_rows()>0) echo $plaatje;

maar dan krijg ik dus een tabel die simpelweg aantal registered users maal aantal boeken groot is... en dat lijkt mij nogal vreemd
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.171s