Yawa Skrevet 30. august 2012 Del Skrevet 30. august 2012 (endret) Når brukere benytter et søkefelt ønsker jeg å plassere dems siste søk i en array, lagre dette i en session slik at jeg kan presenrere dette tilbake til brukeren like ved søkefeltet slik at de kan bruke et av sine siste søk om ønskelig... dette har jeg fått til forøvrig. Metoden jeg benytter er å lagre hvert søk i en array slik: &--#60;?php /** * en globalt tilgjenglig klasse hvor følgende kode, relatert til dette, befinner seg: ** * private $lastSearches = array(); * * public function setLastSearch($str){ * $this-&--#62;lastSearches[] = $str; * } * * public function getLastSearches(){ * return $this-&--#62;lastSearches; * } */ ?&--#62; Videre, når en bruker søker og klikker på søk-knappen gjør jeg følgende: &--#60;?php if (isset($_GET['Search'])){ extract($_GET); $_SESSION['storage']-&--#62;setLastSearch($Search); } ?&--#62; Dette resulterer i at jeg kan hente ut igjen tildligere søk på følgende måte: &--#60;?php /* * ved bruk av array_reverse og array_slice sørger jeg for at kun de 5 siste søkene blir hentet ut. */ $lastSearches = array_reverse(array_slice($_SESSION['SessionVars']-&--#62;getLastSearches(),0,5)); foreach($lastSearches as $kywrds){ echo '# '.$kywrds.'&--#60;br&--#62;'; } ?&--#62; Dette oppsettet legger kun til nye ellementer i arrayen. Noen jeg ikke ønsker. Jeg ønsker at jeg kan sette en maks limit på tilgjenglige elemeter i arrayen. Når denne limiten overskrider ønsker jeg at de gamleste søket forsvinner. Litt sånn gjennomtrekk løsning. Noen som vet hvordan jeg kan få til dette? Endret 30. august 2012 av Yawa Lenke til kommentar
molty Skrevet 30. august 2012 Del Skrevet 30. august 2012 Du kan bruke count($array) for hver gang det søkes, og hvis den er over eller lik max antall søkingen kan du bruke array_shift($array); Da fjernes det første elementet i "listen" $array Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå