Random nummer zonder herhaling

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Frontend Developer - Leeuwarden

Als Frontend Developer bouw jij mee aan het onderwijs van de toekomst! In een scrum team werken met jonge en enthousiaste collega’s, moderne technieken, ruimte voor eigen ontwikkeling en op een proactieve wijze kunnen meewerken aan innovatie binnen het onderwijs. Magister is het state-of-the-art softwarepakket dat scholen in het voortgezet onderwijs op alle fronten ontzorgt. Van leerlingenadministratie tot het ondersteunen van individuele leerlijnen, van toegang tot digitaal lesmateriaal tot het plannen van het lesrooster. In de Magister app bedient Magister ruim 2,5 miljoen gebruikers waarvan, dagelijks meer dan 600.000 unieke. Hiermee is Magister de absolute marktleider in onderwijsland. Wat vragen

Bekijk vacature »

Back end developer Python, PHP

Functie Jij als full stack ontwikkelaar zult komen te werken samen met 1 PHP ontwikkelaar een PO en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult voornamelijk (lees 75%) werken aan de roostersoftware. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere flexwerkers ingezet kan worden. Verder willen ze financiële koppelingen gaan maken

Bekijk vacature »

Android developer

De functie Schiphol is een plek om te reizen, te verblijven en te werken. Door middel van data en technologie richten we op al deze gebieden het leef- en werkklimaat optimaal in en zorgen we voor een slimmere en efficiëntere operatie. Wij ontwikkelen nieuwe producten en diensten vanuit de wensen en behoeften van onze klanten, voorspellen passagier flows en testen digitale oplossingen om rijen en andere pijnpunten in het proces te verminderen. Met slimme feedback van sensortechnologie maken we zelfs data van toiletten en stoelen inzichtelijk en bruikbaar. Het Commercial Platform bestaat uit multidisciplinaire teams met een end-2-end verantwoordelijkheid voor

Bekijk vacature »

Front-end Developer

Do you want to work with the latest technologies on the development of new systems and applications? Create elegant interfaces using VueJS for thousands of users? Get moving and strengthen Nederlandse Loterij as a Front-end Developer. Thanks to your efforts, our services are always presented in style. As a Front-end Developer you are responsible for website development and improving customer experience based on data analyze. In this way, you directly contribute to a happy, healthy and sporty Netherlands. As a Front-end Developer you score by: Writing elegant, testable components without side-effects to provide functionality to the users Website development, adding

Bekijk vacature »

Front end developer Zorgplatform

Functie Jij als Front end ontwikkelen zult komen te werken samen met 1 PHP ontwikkelaar, 1 Python developer en een flexibele schil aan ontwikkelaars . Samen ga je ervoor zorgen dat de huidige producten doorontwikkeld worden. De Marketplace is geschreven in PHP Laravel en in de front end React. De roostersoftware is ontwikkeld in Python in combinatie met React in de front end. Jij zult als Front ender dus voornamelijk bezig zijn met het verbeteren van onze interfaces op onze verschillende producten. Momenteel ligt de uitdaging in het feit dat de roostersoftware breder schaalbaar moet worden zodat het voor meerdere

Bekijk vacature »

Medior Java developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Binnen DPA GEOS zijn we dan ook op zoek naar enthousiaste Java developers om ons development team te versterken. Als Java developer werk je in Agile/Scrum teams bij onze klanten en daarbij kun je eventueel ook andere ontwikkelaars begeleiden in het softwareontwikkelproces. Verder draag je positief bij aan de teamgeest binnen een projectteam en je kijkt verder dan je eigen rol. Je gaat software maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege je diepgaande

Bekijk vacature »

Fullstack Software Developer

Functieomschrijving Voor een ambitieuze werkgever in regio Roosendaal zijn wij op zoek naar een Full Stack C#.NET Developer. Als software programmeur ben je verantwoordelijk voor het bouwen van webapplicaties, apps en dashboards voor de eigen IOT-oplossingen. Je werkt samen met andere developers en engineers om de sensoren in machines uit te lezen en deze data om te zetten in management informatie voor jullie klanten. Taken en verantwoordelijkheden: Verder ontwikkelen en onderhouden van webapplicaties, dashboards en apps voor de eigen IOT-oplossingen; Testen en goedkeuren van de software; Je gaat aan de slag met de volgende technologieën en frameworks: C#, JS frameworks,

Bekijk vacature »

Lead Webdeveloper

Als Lead webdeveloper bij KUBUS ben je verantwoordelijk voor het implementatie design van requirements en de software architectuur van de webapplicatie en services van BIMcollab. In je rol als lead developer zoek je als vanzelf op een creatieve manier naar het optimum tussen benodigde implementatie-tijd, de performance van de applicatie en een snelle go-to-market van features, aansluitend bij onze geautomatiseerde test- en release train. Hierbij bewaak je in samenwerking met de andere senior ontwikkelaars in je team de architectuur van de applicatie en adviseer je de product owner over noodzakelijke refactoring om de onderhoudbaarheid van het platform te verbeteren. Ons

Bekijk vacature »

Mendix Developer

Voor Troostwijk Groep zoeken wij een: Mendix Developer Wij zoeken Je bent een getalenteerde en ervaren Mendix Developer en het is tijd om je horizon te verbreden. Je wilt minder coderen en meer modelleren, minder bezig zijn met allerlei technische details en randvoorwaarden en meer met functionaliteit. Daarnaast ben je trots op de innovatieve en gebruiksvriendelijke applicaties die je in de loop van de jaren hebt gebouwd. Werk je graag in een enthousiast team, wil je veel vrijheid en kun je tegelijkertijd goed met deadlines omgaan, dan ben jij absoluut degene die wij zoeken! Wat je nodig hebt is ruime

Bekijk vacature »

Back-end Developer

Functieomschrijving Voor een erkende werkgever in de regio van Middelburg zijn wij op zoek naar een enthousiaste PHP / Symfony Developer. Een ambitieus persoon die het gemotiveerde development team komt versterken met het realiseren van nieuwe en complexe projecten. Ben jij op zoek naar een baan met veel uitdaging binnen een snelgroeiend e-commerce bedrijf, waar je de tijd en ruimte krijgt voor professionele groei? Dit ga je doen: Je bent verantwoordelijk voor de beheer en ontwikkeling van de serviceportal in Symfony en de webshops in de tweede versie van Magento; Je houdt je bezig met het ontwikkelen van nieuwe functionaliteiten;

Bekijk vacature »

.Net ontwikkelaars voor de zorgsector

Bedrijfsomschrijving Voor onze klant in de omgeving van Zwolle zijn wij op zoek naar een ervaren .Net ontwikkelaar, bij voorkeur met ervaring binnen de belangrijkste sector van Nederland, namelijk: de zorgsector. Deze internationale organisatie ontwikkelt software voor de zorgsector. Er werken zo'n 25 medewerkers hard aan een oplossing die gebruikt wordt door heel Nederland. Er heerst een informele sfeer waarbij er altijd ruimte is voor een grapje. Je collega's zijn stuk voor stuk sterke ontwikkelaars vanuit verschillende achtergronden en met verschillende leeftijden. Je komt hier terecht in een organisatie die zich hard inzet om de zorgsector te verbeteren. De mogelijkheden

Bekijk vacature »

Leidinggevend Full Stack Developer

Hé jij, nieuwe Pinkcuber! Ga aan de slag bij Pinkcube, online leverancier van promotieartikelen! Een innovatieve organisatie waar extra stappen zetten voor klanten de normaalste zaak van de wereld is. Ambitieus zijn we ook. ‘Naoberschap’ staat bij Pinkcube hoog in het vaandel; we helpen elkaar en iedereen is welkom. Pinkcube is Great Place to Work Certified, erkend leerbedrijf, maatschappelijk betrokken partner van stichting Present en partner van CliniClowns. En misschien wel jouw nieuwe werkgever. Wij zoeken namelijk een enthousiaste: Leidinggevend Full Stack Developer (40 uur, medior/senior) Ben jij klaar om baanbrekende ideeën tot leven te brengen en deel uit te

Bekijk vacature »

Functioneel Applicatiebeheerder

Wij van CNB zijn op zoek naar een leergierige Functioneel Applicatiebeheerder CNB is de grootste dienstverlener in de markt van bloembollen en vaste planten. In deze markt verricht CNB de volgende diensten: bemiddeling, veilen en het koelen en prepareren van bloembollen. Vanuit ons hoofdkantoor in Lisse werken bijna 100 collega’s dag in dag uit aan de bemiddeling van bloembollen. In Bovenkarspel vindt het koelen en prepareren van de bloembollen plaats. Wij zijn op zoek naar een enthousiaste Functioneel Applicatiebeheerder die naast een applicatie, ook sfeer kan bouwen! Jij: Vindt het leuk om binnen een klein IT-team aan de slag te

Bekijk vacature »

Magento developer

Functie E-commerce is een ‘’snelle’’ wereld. Om hierin continu voorop te blijven omarmen ze in een vroeg stadium nieuwe technieken. Een webshop is nooit af en kan altijd beter, sneller en efficiënter. Tegelijkertijd hebben ze vanaf hun oprichting altijd vastgehouden aan kwaliteit boven snelheid, en dit loont. Als back-end developer fungeer je als het verlengstuk van hun klanten. Technisch complexe zaken pak je met liefde op, en hierin werk je samen met o.a. front-end developers en designers. Klanten verwacht hierin kwaliteit van het hoogste niveau en een proactieve, meedenkende rol bij het maken van zowel technische als strategische keuzes. Ga

Bekijk vacature »

Back-End Web Developer

As a Back-End Web Developer at Coolblue, you ensure that our webshops work as optimal as possible. How do I become a Back-End Web Developer at Coolblue? As a Back-End Web Developer you work together with other development teams to make our webshop work as optimal as possible and to make our customers happy. Although you are a PHP Developer, you also feel confident with setting up microservices in Typescript or are open to learning this. Would you also like to become a PHP Developer at Coolblue? Read below if the job suits you. You enjoy doing this Writing pure

Bekijk vacature »
Martijn K

Martijn K

23/07/2014 10:49:54
Quote Anchor link
Beste mensen,

Het maken van een random nummer in een range lukt me wel. Het enige probleem is dat dat het niet mag worden herhaald.
Ik heb een quiz gemaakt van 20 vragen.
De vragen komen 1 voor 1 op het scherm.
Bij mijn SQL gebruik ik nu: LIMIT $variabelediesteedseenmmeerword, 1;
ik wil van $variabelediesteedseenmmeerword een $variabeledie1totenmettwintigkanzijn.
Ik wil dat de vragen in random volgorde komen maar altijd maar 1 keer. Dus ik wil steeds een ander nummer in een unieke variabele hebben in een range van 1-20.


Groet,
Martijn
Gewijzigd op 23/07/2014 10:56:00 door Martijn K
 
PHP hulp

PHP hulp

04/05/2024 21:40:14
 
TJVB tvb

TJVB tvb

23/07/2014 10:56:48
Quote Anchor link
Je kunt de vragen ophalen met een order by rand() (hiervoor moet je dan wel alle vragen in 1 keer ophalen)
Of je slaat ze op in je sessie. En sluit die uit bij het ophalen.

Dan krijg je iets als
SELECT
id,
kolom1,
kolom2,
FROM vragen
WHERE id NOT IN (5,12,19)
ORDER BY RAND()
LIMIT 1
 
Martijn K

Martijn K

23/07/2014 11:02:49
Quote Anchor link
Hoi TJVB,
Ik wil niet alle vragen in een keer ophalen maar vraag per vraag laten zien. Dus LIMIT $vraagnummer, 1
 
Erwin H

Erwin H

23/07/2014 11:03:13
Quote Anchor link
RAND() is nogal traag (hoewel dat bij 20 rijen nog niet merkbaar is).
Een vrij simpele oplossing voor dit vaak terugkomende probleem, is een array te maken met alle mogelijke waardes. Die array met array_shuffle() overhoop te gooien en vervolgens gewoon die array doorlopen en elke keer het volgende element eruit te halen. Zo is de volgorde random en krijg je nooit hetzelfde element nog een keer.

Zolang het aantal elementen aftelbaar is werkt dit prima.
Gewijzigd op 23/07/2014 11:06:25 door Erwin H
 
Martijn K

Martijn K

23/07/2014 11:08:29
Quote Anchor link
Hoi Erwin H,

Wil je een voorbeeld in PHP schrijven voor mij? Vooral " die array doorlopen en elke keer het volgende element eruit te halen." lukt me niet.

Ik doe het trouwens niet goed denk ik. Of ik maak een denkfout. Een variabele laten optellen kan goed maar als PHP bij elke vraag een nieuw random array gaat maken dan is er ook de kans op een dubbele vraag.

Groetjes,
M
Gewijzigd op 23/07/2014 11:17:15 door Martijn K
 
Erwin H

Erwin H

23/07/2014 11:17:47
Quote Anchor link
Ik was al even met een klein voorbeeldje bezig:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<?php
//start sessie om de info over verloop in de sessie op te kunnen slaan
session_start();

//kijk wat het element is dat nu getoond moet worden
$element = ( isset( $_SESSION['i'] ) )? $_SESSION['i']: 0;

//kijk of er al een seed is voor de random generator, zo niet dan wordt die
//aangemaakt. Dit zorgt ervoor dat je bij elke pagina request weer dezelfde
//volgorde krijgt

$rand = ( isset( $_SESSION['r'] ) )? $_SESSION['r']: rand();
srand( $rand );

//Genereer de array die de volgorde gaat bepalen
$array = range( 1, 20 );

//Gooi de array door elkaar
shuffle( $array );

//Alleen voor de test
print_r( $array );
echo '<br><br>';
echo $element.': '.$array[$element];

//Nu zou je je gegevens uit de database moeten halen, waarbij $array[$element]
//het juiste record nummer bevat

//Schrijf het huidige element en de random seed naar de sessie zodat je die bij
//de volgende kunt ophalen

$_SESSION['i'] = ++$element;
$_SESSION['r'] = $rand;
?>

Enige wat nog mist hier is wat te doen als je aan het einde bent gekomen. Dat mag je zelf uitvogelen.
Gewijzigd op 23/07/2014 11:20:06 door Erwin H
 
Martijn K

Martijn K

23/07/2014 11:21:35
Quote Anchor link
Ik ga het uitproberen!
Het werkt prima!

Ik was wat overenthousiast. Gelukkig is er een afdeling 'Beginnen met PHP' want dit is pittig voor me.

Hij blijft met nieuwe arrays komen.
ik snap ook niet wat je doet met :

$_SESSION['r'] en $_SESSION['i'] en wat het verschil is tussen die twee.

Hartelijk dank dat je me hebt geholpen. Ik moet nu nog uitvogelen hoe ik de sessie beëindig als de laatste vraag is geweest zoals je zelf al aangaf.

ik doe nu :
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php
if($element>$aantalpaginas){
  unset($_SESSION['i']);
  unset($_SESSION['r']);
 }

?>

ik weet niet of dat goed is.



Dit is best nog ingewikkeld voor een beginner. Verschil tussen random volgorde vragen en opeenvolgend is nogal groot.

Hartelijk dank!
Gewijzigd op 23/07/2014 12:14:27 door Martijn K
 
Erwin H

Erwin H

23/07/2014 12:27:54
Quote Anchor link
$_SESSION is een array. $_SESSION['i'] is een element in de $_SESSION array, $_SESSION['r'] is een ander element.
 
Martijn K

Martijn K

23/07/2014 14:14:33
Quote Anchor link
Bedankt Erwin,

Het was een leerzame les in de wereld van de SESSIONS. Ik ben blij dat ik nu weet hoe dat werkt.

Groet,
Martijn
 



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.