6 random map kiezen 6 random blazijden

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jan Douma

Jan Douma

07/01/2009 12:15:00
Quote Anchor link
De bedoeling is een stukje php code te maken die random 6 mappen
(folders) selecteert op de server (een oscommerce shop) waarin ook weer random 6 produktbladzijden worden geselecteert

De werking op de shop is als volgt : bij openen homepage word er uit 1 v.d 6 mappen ( produktnamen) gekozen en er word ook 1 v.d 6 bladzijden die in de map zit geselecteert (deze bladzijde zie je dan op de shop )

Elke keer bij openen v.d homepage word er een random map en een random bladzijde hierin gekozen
Alle bladzijden komen even veel aan de beurt ..dan

Dit is een mogelijkheid

Een andere mogelijkheid is dat je als eis stelt dat bij openen van de homepage een geopende map steeds opnieuw gekozen word totdat alle 6 bladzijden hierin getoond zijn op de homepage, daarna word er weer random een map gekozen
Het voordeel is hiervan dat er eerst een serie bladzijden getoond worden die bijv bijelkaar horende dingen laat zien

6 mappen random en 6 bladzijden random komt misschien wat onsamenhangend over

Heeft iemand een idee welke code hiervoor vantoepassing is ?
bedankt alvast.
 
PHP hulp

PHP hulp

22/11/2024 20:50:01
 
Menno Ridder

Menno Ridder

07/01/2009 12:26:00
Quote Anchor link
Je wilt dus dat elke keer andere producten worden weergegeven? Waarom zou dat handig zijn in een webshop?

Je kunt een rand() functie gebruiken. Die geef je aan een willekeurig nummer aan te maken van 1 t/m 6 en dat nummer gebruik je bij het inlezen van de verschillende mappen.
http://nl.php.net/rand
 
Jan Douma

Jan Douma

07/01/2009 12:57:00
Quote Anchor link
Het is de homepage en eigenlijk alleen maar voor reclame doeleinden
De produkten worden gekozen via produktcategorieen door een klant op de shop

Nu heb ik 6 roulerende random homepage blz + vaststaande homepage info
op de shop staan al via de random() functie

De uitbreiding is nu dat ik de reclame in random mappen zet waar de reclame bij een bepaalde naam hoort ( het is overzichtelijker)
De bedoeling is nu dat als voor de 1e keer de homepage geopend word uit een random map bij een 2e openingv.d homepage dezelfde map opnieuw geselecteerd moet gaan worden
Ik wil dat bij een gekozen(open homepage) map eerst alle bladzijden getoond worden die erin zitten
Is dit gebeurt dan word er weer random een map geopend..en weer worden alle reclamebladzijden hierin random geopend totdat ze allemaal als homepage getoond zijn.

hopelijk is het nu duidelijker

groet
 
Menno Ridder

Menno Ridder

07/01/2009 13:14:00
Quote Anchor link
Hmmm.. Niet echt. Kun je het even in stappen uitleggen wat je wil dat er gebeurd vanaf het moment dat iemand (voor de eerste keer) op de website komt?
Dan is het misschien wat makkelijker te begrijpen.
 
Jan Douma

Jan Douma

07/01/2009 13:38:00
Quote Anchor link
ok..kijk naar de shop http://www.zerospec.com/
De persoon ziet elke keer in het midden v.d homepage een oranje balk en wat een bladzijde met info voorstelt als d ehomepage word geopend

Er zitten nu 6 bladzijden random op de shop

MAAR NU WIL IKIETS ANDERS
Nu wil ik met random mappen gaan werken waarin deze 6 bladzijden zitten

Dus bij het openen van de homepage word een random map( 1 v.d 6 mappen) geopend en een random bladzijde hierin (1 v.d 6 bladzijden)
MAAR bij een 2e opening v.d homepage wil ik dat dezelfde map opnieuw word geopend omdat ik wil dat alle 6 bladzijden uit de eerste map getoond moeten worden, daarna mag er weer random een map gekozen worden met weer de eis dat EERST WEER alle 6 bladzijden hierin getoond moeten worden en hierna weer random een nieuwe map gekozen.

hoepelijk word het duidelijker ?(mooier kan ikhet niet maken ;) )

groet
 
Menno Ridder

Menno Ridder

07/01/2009 13:50:00
Quote Anchor link
Haha, nee nu snap ik het.
Het is een leuk idee maar het gaat een hoop ruimte kosten.

Je zult in je database moeten aangeven welk IP welke mappen en bestanden al heeft gehad. Vergeet niet dat de random functie een "willekeurig" bestand zal weergeven, en niet eerst de 1e, dan de 2e, etc. Dat zal je dus waarschijnlijk willen veranderen, omdat het anders eeuwen duurt voor je aan de volgende mappen toe komt.

Voor het script gedeelte zul je dus het IP moeten ophalen. Dan kijk je in de database of er al een bestand is geweest en anders geef je de eerste weer. Als er wel een is geweest geef je de volgende weer, en update je in de database dat er een tweede bestand is weergegeven. De volgende keer doe je hetzelfde maar dan met het derde bestand.
Zodra je alle 6 de bestanden een keer hebt weergegeven zal je het eerste bestand uit de volgende map weergeven.

In de database hoef je maar 2 velden in de tabel te hebben als je het kort wil houden. De 1e is het IP van de gebruiker, en de tweede is het nummer van bestanden dat je al gehad hebt. Als er al 12 zijn geweest ga je dus door met de eerste van map 3.

In plaats van het IP invoeren kun je ook met cookies werken, maar dat raad ik je af omdat veel mensen cookies disabled hebben (standaard door virus scanner of handmatig ingesteld).
 
Jan Douma

Jan Douma

07/01/2009 14:12:00
Quote Anchor link
Ikbegrijp dus dat er info opgeslagen moet gaan worden in de database
Stel ik open voor de 1e keer een homepage
Bij een 2e keer zal de de 1e homepage info in de database staan net zo lang tot alle bladzijden zijn geweest
Het script zal dan inde database gaan zoeken naar de tabellen die aan een bepaalde voorwaarde voldoen

Er word willekeurig met verschillende ip nummers ( de klanten) naar de homepage gekeken, dus ongeacht het ip nummer moeten de 6 bladzijden bekeken worden in een dan randomgeopende map

Ik ben geen ict expert , dus een beginneling met scripts

groet
 
Menno Ridder

Menno Ridder

07/01/2009 14:23:00
Quote Anchor link
Dat heb je goed. Je kunt het ook zo doen dat je dus inderdaad niet naar de IP's kijkt maar bij elke keer dat de browser geladen wordt, ongeacht vanaf welke computer, een nieuwe pagina ingeladen wordt.

Als je het wel random wil doen zal je meer plaats in je database kwijt zijn, want dan moet je elke pagina die is verschenen in de database zetten. Als je het niet random doet kun je gewoon 1 veld laten optellen tot de volgende map moet worden gebruikt.
 
Jan Douma

Jan Douma

07/01/2009 14:45:00
Quote Anchor link
Ja ..even er goed over nadenken ..zal wel moeten
Als de mappen random geopend worden , dan mogen de bladzijden erin wel in een vaste volgorde geopend gaan worden
Dat word niet meteen saai voor de bezoeker lijkt me
Komen we er toch zo aardig uit
Alleen nu de programmering nog ..
Eerst maar de database programmering : de inhoud v.d bladzijde hoeft niet in de database want de de inhoud staat in een map kant en klaar
De bladzijde heeft een titel en dit is een variabele..en deze kan je ophogen met 1
Dus hoe gaat de uitbreiding met tabellen v.d database eruit zien?
groet
 
Menno Ridder

Menno Ridder

07/01/2009 14:55:00
Quote Anchor link
Script jij de website zelf of besteed je dat uit? Ik denk namelijk dat iemand met redelijke ervaring daar zo mee klaar is.

Anyway... In het geval dat je dus geen IP mee geeft (dus dat elke gebruiker die op de pagina komt de variabele laat ophogen), zul je een tabel met 2 kolommen moeten maken. Daarvan is de 1e het aantal pagina's en de tweede het aantal mappen. Dit worden beide integers met een max length van 1.

Voor het script gedeelte hoef je alleen maar een query te maken waarin gekeken wordt naar het aantal pagina's dat geweest is (tabel 1) en naar de map waar we mee bezig zijn (tabel 2). Als Tabel1 "6" is en Tabel2 "3" zal het de eerste pagina van map 4 ingeladen moeten worden. Tegelijkertijd moet de database geupdate worden met Tabel1 = "1" en Tabel2 = "4".

EDIT: Als je de mappen random wil maken hoeft de tweede tabel niet eens. Dan laat je gewoon de eerste pagina van random map inladen. Dan heb je dus wel de kans dat gebruikers in bij 3 mappen 2 keer eenzelfde te zien krijgen (eerste map = map3, tweede map = map6, derde map = map3).
Gewijzigd op 01/01/1970 01:00:00 door Menno Ridder
 
Jan Douma

Jan Douma

07/01/2009 15:17:00
Quote Anchor link
Probeer hetzelf te doen .
Zal wel een makkie zijn voor iemand met basiskennis van
- een datbase ondervragen met een script
- een database tabellen aanmaken
Ja de mappen random , anders word het voorspelbaar !
De bladzijden op de shopzijn nu ook random

Bij niet random is er natuurlijk een vast doorloop van mappen en bestanden te constateren
random betekent dat stel bijde eerste keer dat een map geopend word deze ook de tweede keer geopend kan worden..meteen al !
Maar de normaalkansverdeling laat zien dat bij een aantal openingen v.d map deze allemaal evenveel geopend gaan worden..denk ik

Ik moet nu weg ..bedankt menno vor je aanwijzingen..ga erlater weer mee verder
groeten
 
Menno Ridder

Menno Ridder

07/01/2009 15:19:00
Quote Anchor link
Geen probleem. Ik steek er zelf ook wat van op als ik andere mensen help.

Mocht je nog een keer hulp nodig hebben kun je me altijd een berichtje sturen.

Groeten.
 
Jan Douma

Jan Douma

11/01/2009 11:34:00
Quote Anchor link
Totaal random voor 2 mappen en daarin elk 6 bladzijden

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

if(rand(1, 2) == 1){
  $random_map = homeboxblz1;
}
else {  
  $random_map = homeboxblz2;
}

include("$random_map /homebox".rand(1,6).".php");  
?>


Is een goed principe : alle bladzijden komen aan de beurt evenveel en elke map staat voor een produkt

Maar vaak bladert de persoon verder en dan is een serie bij elkaar horende produkten interessanter lijkt mij
De shop moeter dusvoor zorgen dat bij een gekozen random map eerst de bladzijden hierin in een vaste volgorde worden doorlopen ( door iedereen die de homepage opent)
Is dit gebeurd dan ( een voorwaarde) dan word er weer random een nieuwe map geopend en begint alles weer opnieuw

Hoe programmeren we dit dus?


Hieronder de huidige code om 6 random homepage bladzijdente laten zien
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
include("homeboxblz/homebox".rand(1,6).".php");  
?>
Gewijzigd op 01/01/1970 01:00:00 door Jan Douma
 
Jan Douma

Jan Douma

11/01/2009 14:27:00
Quote Anchor link
Oke ik moet de shop dwingen dat bij een geopende random map de 1 eblz uit die map getoond gaat worden
Onderstaande code opent een willekeurige blz
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

if(rand(1, 2) == 1){
  $random_map = homeboxblz1;
}
else {  
  $random_map = homeboxblz2;
}

include("$random_map /homebox".rand(1,6).".php");  
?>


Om blz 1 te openen uit een random map welke aanpak hiervoor ?
( het moet allemaal zo eenvoudig mogelijkuitgevoerd gaan worden: geen uitgebreide beheer om nieuwe blz aan , etc )
Ik maak de nieuwe blz aan en zet in een map en pas wat code aan
Die rand() functie voor de bladzijden kan ik in de onderstaande include eruit halen...en maak er dit van
Nu word er uit de random 2 mappen altijd de eerste bladzijde geopend
Dat wil ik ook

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php include("$random_map /homebox1".php");?>


Nu kan ik dit gegeven gebruiken zoals in bovenstaande post beschreven staat om dit in een database op te slaan, want anders word steeds de 1e blz geopend en de database laat ik fungeren als geheugen : via een php script wordt er geconstateerd dat blz 1 uit een random map al is geopend geweest en dus moet bladzijde 2 volgen ...

Nu dit in php taal ?


Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door Jan Douma
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.