Random nummer zonder herhaling

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.Net Software Developer – Smart Logistics

Heb jij ervaring met applicatie ontwikkeling, testen en onderhoud van business-kritische .NET applicaties? En wil je graag met de nieuwste technologieën werken binnen een DevOps scrumteam? Wat ga je doen? “Use digital to move smarter De unit Smart Logistics binnen de Transport & Logistics sector van CGI ontwerpt, bouwt en onderhoudt veelal missie-kritische applicaties voor onze klanten uit de transport en logistieke sector. Zonder deze sector worden onze pakketjes niet op tijd afgeleverd, rijden de treinen niet meer van a naar b en varen schepen niet veilig de haven binnen. Om deze transport en logistieke ketens te monitoren en sturen,

Bekijk vacature »

Software Developer - Space unit

We help our customers in their day-to-day operations by processing Space & Earth Observation data using cutting edge IT technologies. If you: • are a software engineer willing to work for a creative group in the Space Business with earth observation and geospatial data, • are eager to learn new big data, machine learning and cloud technologies, • enjoy integrating different components in a wide landscape, • have a passion for clean code and elegant solutions, then, our team is looking for you! Together with our data scientists and IT colleagues, you will have the opportunity to work in projects,

Bekijk vacature »

Dynamics CRM / Developer

Bedrijfsomschrijving Als onderdeel van een grote IT-dienstverlener is deze organisatie ontstaan en is nu gegroeid tot organisatie van bijna 30 man groot. Iedereen binnen deze organisatie houdt zich bezig met het ontwikkelen, beheren, onderhouden van bedrijfskritische applicaties. In tegenstelling tot de moederorganisatie, werken de medewerkers bij deze organisatie gemiddeld drie dagen in de week gewoon op het eigen kantoor in Utrecht. Mede hierdoor heerst er een erg informele sfeer waardoor jij je binnen no-time thuis voelt! De organisatie staat op het punt om een heel nieuw team met specialiteit Dynamics CRM op te tuigen. Nee, je hoeft zeker nog geen

Bekijk vacature »

Platform Community Manager

Als Platform Community Manager ben je een onmisbare schakel tussen de gebruikers van het Mijnwinkel platform en de organisatie. Je bent het centrale aanspreekpunt en speelt adequaat in op reacties, vragen en opmerkingen met betrekking tot het platform. Je stimuleert en ondersteunt de interactie tussen gebruikers en faciliteert daarbij de groei van hoogwaardige content. Daarnaast plaats je ook zelf content om de interactie met gebruikers aan te gaan. Omdat je bovenop het vuur zit en als geen ander weet hoe het platform functioneert, kan je input leveren over de workflows en processen en identificeer je verbeteringen die van invloed zijn

Bekijk vacature »

IT-Traineeship junior software programmeur

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van ongeveer 4 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af

Bekijk vacature »

IT-traineeship junior software ontwikkelaar

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van ongeveer 4 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af

Bekijk vacature »

C# .NET Developer

Bedrijfsomschrijving Onze klant is een mooie en innovatieve multinational in de regio Utrecht. Ze staan bekend om de hoge kwaliteit van dienstverlening en streven ernaar dit continu te verbeteren. Om dit te kunnen doen zijn zij opzoek naar een Software Developer. Als C# .NET Developer ga je aan de slag met het ontwikkelen van bedrijf kritische software en applicaties. Zo zijn er applicaties en software die van belang zijn voor de bedrijfsvoering, de medewerkers van de organisatie, maar ook voor het klantenbestand van de organisatie. Het landschap is zowel functioneel als technisch en daarmee erg breed. Je komt te werken

Bekijk vacature »

Typescript Developer / Cloud platform

Bedrijfsomschrijving Onze opdrachtgever, gevestigd in regio Eindhoven, levert een compleet dienstenpakket op het gebied van IT. Zij pakken verschillende (complexe) vraagstukken van grote organisaties op. De sfeer intern is gezellig en informeel. Men houdt van hard werken maar gezelligheid door middel van een borrel of gezamenlijke lunch komt er veel voor. Als Typescript ontwikkelaar word je onderdeel van het team gericht op de (door)ontwikkeling van hun eigen cloud platform welke wordt gebruikt door verschillende klanten. Hierbij wordt er veel gefocust op gebruikersgemak, denk bijvoorbeeld aan de ontwikkeling van een selfservice portal, monitoringsportals en een automatisch test framework. Hierin zal jij

Bekijk vacature »

Full Stack Developer Javascript Angular (JS)

Bedrijfsomschrijving Onze klant is een internationale organisatie in Rotterdam en heeft meerdere vestigingen wereldwijd. De IT afdeling in Rotterdam verzorgt diensten voor deze landen. Ter versterking van het team zijn zij op zoek naar een ervaren Full Stack Developer. De IT afdeling bestaat uit 3 systeembeheerders en 3 developers. Samen met 3 andere Developers ontwikkel je aan het ERP pakket. De organisatie is te omschrijven als no-nonsense, ondernemend en informeel. Naast de locatie in Nederland hebben ze verschillende locaties in het buitenland. Functieomschrijving Full Stack Developer Het onderhouden en verder inrichten van het ERP pakket middels Javascript, Angular (JS), SOAP,

Bekijk vacature »

Senior C# Developer

You'll build modern applications for Coolblue back’s office. We have a lot of friends, and they crave well-structured data and user-friendly, task-focused applications. How do I become a Senior C# Developer at Coolblue? You regularly participate in brainstorm sessions about user experience, data, and task flow with the UX Designer, Product Owner, and Data Scientists in your team. Besides that you will create disconnected, highly congruent, and testable code that can easily be maintained and is future-proof. Want to become Senior C# Developer at Coolblue? Read below if the job suits you You enjoy doing this Working with various types

Bekijk vacature »

New Business Developer Eindhoven

Ben jij het zat om alle KvK-lijsten volledig af te bellen? Komt de koffie van die ene persoon waar je nog steeds geen deal hebt gesloten je neus uit? En blijf je potentiële klanten stalken zonder resultaat? Dan is het tijd om het anders te gaan doen! Neem afscheid van de standaard salesaanpak en ga bij PEAK-IT aan de slag met onze unieke en eigenwijze salesstrategie! Word onze New Business Developer in Eindhoven, die niet bang is om het anders te doen! Hoe maak jij onze klanten blij? Dankzij jou hoeven onze klanten niet bang te zijn dat hun IT-infrastructuur

Bekijk vacature »

Senior .NET Ontwikkelaar

Help jij onze klanten in de publieke veiligheidssector de stap te maken naar de high performance organisatie van de 21e eeuw? Wat ga je doen? Als Senior .NET ontwikkelaar ben je verantwoordelijk voor (een deel van) het ontwerp van een of meerdere systemen. Deze rol vereist communicatie en interactie met meerdere ontwikkel- en testteams en met de andere ontwerpautoriteiten. In jouw rol treedt jij op als de vertegenwoordiger van de technische aspecten van het systeem bij het overleg met de klant. Wat breng je mee? Jij bent veelzijdig en bereid om die extra stap te zetten die soms nodig is.

Bekijk vacature »

Support Engineer

Support Engineer Ben jij communicatief sterk? En word jij blij als onze klanten dat ook zijn? Lees dan zeker verder! Wie zijn wij? KindPlanner Software is een ambitieuze en snelgroeiende softwareleverancier die zich richt op de kinderopvangbranche. Haar product KindPlanner is een 100% cloudoplossing die het kantoor, de locaties en ouders met elkaar verbindt waardoor slimmer en eenvoudiger gewerkt kan worden. De software wordt in eigen beheer ontwikkeld vanuit Leiden, waar ook de overige onderdelen zoals sales en consultancy gevestigd zijn. Je komt te werken in een team waar resultaat en plezier hand in hand gaan en werkt vanuit een

Bekijk vacature »

BI Developer/ Power BI

Bedrijfsomschrijving De organisatie staat aan het begin van een grote verandering op gebied van Data Analytics. De visie is om datadriven te werken en dat uit te rollen over meerdere zuster/ dochter organisaties in Nederland. De omgeving is volledig Microsoft gebaseerd. In een team van uiteindelijk 8 professionals ben je verantwoordelijk om de omgeving naar een nieuw niveau te tillen op gebied van BI. Dit houdt in dat je de huidige omgeving analyseert en met elkaar bepaalt welke kant de organisatie op moet. Je kan het bijna typeren als een greenfieldproject! Je hebt contact met Business Analisten om requirements te

Bekijk vacature »

Dynamics NAV / 365 BC Developer

Bedrijfsomschrijving Als Dynamics Business Central Developer kom je te werken bij een organisatie in regio Ede die gespecialiseerd is in het ontwikkelen en implementeren van software. Zo hebben ze een eigen ontwikkelde applicatie in de markt gezet voor de agrarische sector die internationaal zeer succesvol is en waar grote vraag naar is. Door deze software worden klanten op een slimme manier ondersteund bij voorraden, administratie, het maken van planningen, het tonen van real time informatie en nog veel meer. Dit platform is ontwikkeld op basis van Dynamics 365 Business Central, waar bovenop applicaties middels .NET Core, React en Azure worden

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

14/05/2021 03:56:25
 
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.