mt_rand()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Leergierige Junior PHP Developer

Organisatie Dit eigenwijze bedrijf heeft al vanaf het begin alles zelf gedaan. Vanuit de irritaties die grote software giganten vaak opwekken. (Denk aan onpersoonlijk contact, meerdere lagen waar je als klant of mederwerker doorheen moet voordat iets wordt geregeld) zijn ze 15 jaar geleden voor zichzelf begonnen. Inmiddels hebben ze onlangs versie 5 van hun eigen framework gelanceerd en zijn ze met een klein en hecht team van 4 man. Ze hebben voor deze grootte gekozen om alle wensen die de klant heeft ook te kunnen realiseren. “Alles wat de klant wilt, dat kan en als het niet kan dan

Bekijk vacature »

Senior .NET developer / Unieke locatie in de zorgs

Midden in een bosrijke omgeving ten Noorden van Utrecht ligt het hoofdkantoor van deze organisatie. Een absoluut unieke locatie voor de veeleisende ontwikkelaar die alleen genoegen neemt met het beste. Deze organisatie wordt gekenmerkt als een informele club developers die graag het beste in zichzelf en hun teamgenoot naar boven halen. Van een dagelijkse verse lunch tot uiteenlopende bedrijfsactiviteiten; deze organisatie heeft het allemaal! Ze zijn gespecialiseerd in software om het voor ziekenhuizen inhoudelijk overzichtelijk te maken hoe efficiënt hun processen verlopen. Hierbij ga je te werk in scrumteams van gemiddeld 5 personen, zodat jij met je team elke dag

Bekijk vacature »

Senior Back-end Developer

Ben jij een programmeur die houdt van afwisseling? Heb jij inmiddels wel genoeg aan hetzelfde moeten werken? Non-stop dezelfde technieken, onderhoud en bug fixing? Wil jij juist werken met de laatste technieken, afwisselende werkzaamheden en nieuwe projecten? Wil jij graag zoveel mogelijk leren van het hele .NET spectrum en op dit punt in je carrière je kennis verbreden in plaats van verdiepen op een aspect? En dit allemaal in een in-house functie met een vast team en veel ervaren collega’s om je heen om mee te sparren? Dan ben je gegarandeerd geïnteresseerd in deze uitdaging. Lees dus snel verder! Organisatie

Bekijk vacature »

.Net Developer (Back-End)– High Traffic Plat

For a business partner of ours in the city Centre of Amsterdam, we are looking for a Back-End .Net developer. This Company, a market leader within their line of business has a platform with millions of views per day. Always keeping the competition miles away and with a high traffic demanding platform they are always seeking technological ways to improve their services. Located from a walking distance of the city’s heart you will be working from a modern building with stunning views of the city. So far so good? Please keep reading; As a .Net developer you will be working

Bekijk vacature »

.NET/ C# SharePoint ontwikkelaar gezocht in omgevi

Vacature Omschrijving Voor een klant zijn wij op zoek naar een .NET/ C# ontwikkelaar die graag met SharePoint wilt werken. Het bedrijf bestaat uit 25 werknemers waarvan 4 ontwikkelaars, met een specialisatie in het digitaliseren van bedrijfsprocessen. Hierbij moet je vooral denken aan document management dat ervoor zorgt dat post geregistreerd wordt, het onderhouden van kwaliteitssystemen en handboeken die gestructureerd worden. De softwarepakketten die het bedrijf aan haar klanten levert zijn Cloud-based en gericht op SharePoint. De eindgebruiker staat hierbij altijd centraal, waardoor jij ervoor moet zorgen dat de focus ligt op de mensen die gebruik gaan maken van de

Bekijk vacature »

Software Developer C++ & Big Data Streaming Ex

Intro Would you like to join a company who is active in the high-tech industry and work on high-end software in the Brainport region of Eindhoven? For our client I am looking for a Software Developer C++ & Big Data Streaming Expert. About our client Our client creates the conditions that enable you to realize your full potential. They provide state-of-the-art facilities, opportunities to develop your talents, international career opportunities, a stimulating and inspiring environment, and most of all, the commitment of a company that recognizes and rewards outstanding performance. Job description In the role as (experienced) Software Developer C++

Bekijk vacature »

Allround developer worden? Dat kan met ons DevOps

Wat ga je doen? DevOps Engineer Als fulltime DevOps Engineer houd jij je bezig met de ontwikkeling (Development) en het beheer (Operations) van software. Je werkt in verschillende fases: ontwikkelen, testen, release, bijschaven en opnieuw ontwikkelen. Je werkt door het flexibele proces, in korte sprints aan ‘kleine stukjes’ van je applicatie, waardoor je met snelle deadlines werkt. Je bent als DevOps engineer dus op een flexibele, efficiente en veel snellere manier bezig met het ontwikkelen van applicaties, websites en software. Als DevOps Engineer word je 'T-Shaped' opgeleid. Jij specialiseert je in programmeren maar daarnaast heb je ook een brede kennis

Bekijk vacature »

Ervaren .NET Developer voor detachering gezocht!

Functieomschrijving Je gaat aan de slag op projectbasis bij verschillende klanten, deze projecten neem jij de verantwoordelijkheid voor de ontwikkeling, het beheer en het onderhoud van .NET applicaties. Jij bent in staat de klanten te adviseren en hen naar een hoger level te tillen. Je bent bedreven in het opzetten van een architectuur, het technisch ontwerpen, het testen, het ontwerpen van databses en het oplossen van complexe problemen. Bij de meeste organisaties wordt Agile gewerkt, dus je bent veelal onderdeel van een SCRUM team. Hier werk je samen met onder andere Architecten, Designers, Developers en Testers. Je werkgever zal altijd

Bekijk vacature »

Medior/Senior PHP developer en ZEND framework

Functieomschrijving In de rol Medior of Senior webdeveloper PHP ben je verantwoordelijk voor de implementatie van de draaiende systemen en het ontwikkelen van nieuwe complexe maatwerkoplossingen. Je bent bezig met functionele klantwensen uitwerken op architectuur niveau en zal je veelal de database in gaan om functionele koppelingen te maken. Het team telt in totaal rond de 15 developers en krijg je naast de kans om backend te doen ook aan de frontend te werken. Sparren met leuke collega’s in een modern pand en je Zend certificaat behalen? Dan is dit de uitdaging die je aan moet gaan. Functie-eisen HBO werk

Bekijk vacature »

Senior PHP Developer Zend

Voor een van mijn businesspartners in de regio Veenendaal ben ik op zoek naar een senior PHP developer. Organisatie Dit bedrijf is 30 jaar geleden ontstaan als speciaal systeem voor campings om kerstkaarten geautomatiseerd naar hun gasten te sturen. Op dit moment zijn ze uitgegroeid tot een organisatie met 50 medewerkers waarvan 10 op de IT afdeling. Hun software verzendt inmiddels ook geen kerstkaarten meer. Tegenwoordig zijn de grotere recreatie en vakantieparken als bijvoorbeeld Duinrell gebruikers van hun software. Zij focussen zich volledig op de recreatiebranch en de software zorgt er voor dat wanneer er een reservering wordt gemaakt dat

Bekijk vacature »

C# developer / nieuwbouw / Cloud infrastructuur

Functieomschrijving C# .NET / ASP .NET / Microsoft / Cloud / Azure Verantwoordelijk voor het ontwerpen en ontwikkelen van nieuwe software modules op het cloud platform; Verantwoordelijk voor het implementeren van applicaties; Verantwoordelijk voor het integreren van API's (JSON/REST); Ontwikkelen en uitvoeren van validatietests. Functie-eisen Minimaal HBO/WO opleiding (richting IT, wiskunde of andere BETA opleidingen); Minimaal 3 jaar ervaring als C# Ontwikkelaar; Ervaring met cloud infrastructuren (Azure); Kennis van Agile development pricipes en tools: bitbucket, confluence, Jira; Kennis van SQL, SQL Server, Oracle, API Management, REST en JSON is een pré; Goede beheersing van de Nederlandse en Engelse taal. Bedrijfsomschrijving

Bekijk vacature »

PHP Freelancer zonder de lasten!

Jij hebt al een aantal jaren werkervaring in de PHP wereld en twijfelt over de stap naar freelancer… Want hoe lekker is het als je in overleg met de eindgebruiker je tijden kan bepalen, je veel vrijheid hebt, bij alleen toonaangevende organisaties terecht komt en ook nog eens DIK betaald krijgt? Voor veel ontwikkelaars is dit toch net een stap te ver. Zij willen gewoon lekker code kloppen en zich niet bezig houden met het regelen van opdrachten, administratieve zaken of andere randzaken. Klinkt dit bekend? Wij bieden de middenweg! Wie zijn wij? Wij zijn niet het stereotype organisatie waar

Bekijk vacature »

Front-end developer

Organisatie Een van de grootste digital agencies van Nederland ben ik opzoek naar een Front-end Ontwikkelaar. Dit zal een hub worden voor innovatieve nationale en internationale samenwerking met ’s werelds grootste multinationals. Hierbij wordt er gewerkt met de nieuwste technieken, van 3D-printen tot VR, en van chatbots tot AI. Als Front-end Developer begrijp je dat kwaliteit alleen kan worden bereikt door een menselijk perspectief te hebben. Je begrijpt dat klanten succesvol geholpen kunnen worden door design technologie en onderzoek met elkaar te verbinden. Deze high-tech organisatie kenmerkt zich door middel van een open en relaxte sfeer. Er is weinig hiërarchie

Bekijk vacature »

Junior .NET developer / Azure / Veenendaal /

In jouw studententijd heb jij altijd dat beetje extra gegeven. Was het geen honours class, dan waren het wel relevante commissies of was jij gewoon heel goed in wat je deed. Tijdens je studie Informatica heb jij laten zien dat jouw passie bij ICT ligt en dat je energie krijgt om hier met leeftijdgenoten over te sparren. Of dit nu binnen-, of buiten de studie was in de vorm van eigen projecten, voor deze functie ben ik op zoek naar een gemotiveerde starter die op zoek is naar een prachtige start van zijn carrière! Dit bedrijf is gelegen in hartje

Bekijk vacature »

Junior+/Medior developer

Bedrijfsinfo Het dynamische bedrijf in de regio Breda bestaat nu ruim 21 jaar heeft 45 mensen in dienst, waarvan 10 developers. Samen met het team ben je constant bezig met het ontwikkelen van maatwebsites en bijbehorende applicaties. Het kantoor dat gelegen is midden in een villa wijk, is verdeeld in verschillende ruimtes. Voor elke ruimte een andere ‘’tak van sport’’. De ontwikkelaars zitten bij elkaar net zoals de consultants. Doordat de directeur zelf ook developer is, ga je echt werken in een platte organisatie. Functieomschrijving Binnen de organisatie ga je aan de slag als PHP developer die zich gaat richten

Bekijk vacature »
Jeroen Weij

Jeroen Weij

19/01/2019 21:35:48
Quote Anchor link
Ik heb de volgende code gemaakt waarbij ik dmv een SQL query het aantal rijen uit de database bereken.
Het aantal rijen bewaar ik in $num_rows. Met mt_rand wil ik een random waarde maken

$num_rows = mysqli_num_rows($result);
$achtergrond = mt_rand(1,$num_rows);

echo $achtergrond;

Als ik de pagina oproep gebeurt er niks.
Als ik echo $num_rows doe krijg ik wel een getal
Als ik $achtergrond = mt_rand(1,$num_rows] vervang door $achtergrond = mt_rand(1,6) krijg ik ook een random getal

Wat doe ik fout?
 
PHP hulp

PHP hulp

18/07/2019 01:23:22
 
- Ariën -
Beheerder

- Ariën -

19/01/2019 21:49:37
Quote Anchor link
Zet de foutafhandeling eens aan?
Ik heb het idee dat mysqli_num_rows() ergens op vastloopt.
 
Rob Doemaarwat

Rob Doemaarwat

19/01/2019 22:02:18
Quote Anchor link
Jeroen Weij op 19/01/2019 21:35:48:
Als ik echo $num_rows doe krijg ik wel een getal

En hoe groot is dat getal? Is het niet te groot voor mt_rand()?
 
Jeroen Weij

Jeroen Weij

19/01/2019 22:08:30
Quote Anchor link
@Rob Doemaarwat het getal is nu 6. (En zal misschien oplopen naar 40.000, wat is de Max waarde voor mt_rand()?)
 
Rob Doemaarwat

Rob Doemaarwat

19/01/2019 22:27:43
Quote Anchor link
6 zou in ieder geval geen probleem moeten zijn :-) Heb je de foutafhandeling al aan gezet / logs bekeken?
 
Thomas van den Heuvel

Thomas van den Heuvel

20/01/2019 00:05:56
Quote Anchor link
Een getal is een getal. Wat de oorsprong is van deze waarde maakt niets uit. Ik zou dus kijken wat de specifieke waarden zijn die worden geretourneerd (en wat het type hiervan is) van zowel mysqli_num_rows() alsook mt_rand().

Is het bijvoorbeeld gegarandeerd dat de resultset altijd niet-leeg is (en geen fouten oplevert), anders resulteert num_rows() in de waarde 0 en mt_rand(1, 0) in de waarde false, want dit is hoe mt_rand() werkt.

Doe dus achtereenvolgens het volgende:
- zet het melden en weergeven van fouten aan
- observeer wat er gebeurt door waarden naar het scherm te dumpen zodat je inzicht krijgt in de toestand van je variabelen
- raadpleeg de documentatie
- rond dit punt heb je waarschijnlijk al door wat er misgaat

Een systematische aanpak helpt je bij het oplossen van deze problemen, en ik heb je zojuist het recept gegeven voor de aanpak van ca. 99 uit 100 gevallen.

NB mysqli_num_rows() bestaat niet.

EDIT: je zou natuurlijk ook een alternatieve oplossing kunnen bedenken als dit in jouw situatie van toepassing is. Je zou bijvoorbeeld de records random kunnen rangschikken en dan een enkel record op kunnen halen middels ORDER BY RAND() LIMIT 1, mogelijke performancekwesties daar gelaten uiteraard. Neemt niet weg dat je zou moeten nagaan waar dit probleem vandaan komt.
Gewijzigd op 20/01/2019 01:14:38 door Thomas van den Heuvel
 
- Ariën -
Beheerder

- Ariën -

20/01/2019 00:47:14
Quote Anchor link
mysqli_num_rows
Die bestaat gewoon hoor......
 
Thomas van den Heuvel

Thomas van den Heuvel

20/01/2019 01:13:25
Quote Anchor link
Uff, navigatie door die documentatie soms... Je hebt gelijk. Had dat ding ook al een hele lange tijd verpakt in een wrapper, dus het origineel stond me allang niet meer voor de geest :p.

... wat trouwens ook een goed idee is (het gebruik van een wrapper), op die manier voorkom je hard coding, mocht zo'n functie/methode alsnog ooit nog eens deprecated raken en/of verdwijnen.
Gewijzigd op 20/01/2019 01:16:37 door Thomas van den Heuvel
 
- Ariën -
Beheerder

- Ariën -

20/01/2019 08:29:29
Quote Anchor link
"ORDER BY RAND() LIMIT 1" is ook erg handig, maar i.c.m met een uitgebreide query met wat WHERE en AND en ik geloof een JOIN erbij, kreeg ik ooit wel steeds bepaalde getallen die vaak terugkeerden dat het niet echt random leek. Het is een oud project verder dus de code heb ik even geen query meer.

Ik heb geen idee waar dat mee te maken had. Maar ik zou het toch even goed testen bij gebruik. Misschien herkent iemand precies wat er gebeurde??
Gewijzigd op 20/01/2019 08:31:27 door - Ariën -
 
Jeroen Weij

Jeroen Weij

20/01/2019 08:38:59
Quote Anchor link
Opgelost! Bedankt.
Had een aanpassing gedaan en meerdere waarden met $result gebruikt. ($reslut1,$result2) En dit niet aangepast in dit stukje code. :-(
Dit moest het zijn:
$num_rows = mysqli_num_rows($result1);
$achtergrond = mt_rand(1,$num_rows);

Bedankt voor de hulp, had nog nooit van de error log gehoord, dit op gezocht en kon precies zien waar het fout ging:
 
- Ariën -
Beheerder

- Ariën -

20/01/2019 08:52:36
Quote Anchor link
Daarom: Altijd foutafhandeling bij je queries.

Ikzelf gebruik de object-georiënteerde van MySQLi waarbij ik de foutafhandeling in een extended-class afhandel in een gekloonde query-functie.
 
Ward van der Put
Moderator

Ward van der Put

22/01/2019 11:58:22
Quote Anchor link
Jeroen Weij op 20/01/2019 08:38:59:
$num_rows = mysqli_num_rows($result1);
$achtergrond = mt_rand(1,$num_rows);


Als je maar geen SELECT * uitvoert om op $result1 te komen.

Je kunt rijen in een tabel beter met SELECT COUNT(*) tellen.

Leuke vergelijking van Stackoverflow:

Quote:
Think of it like the following pseudo scenarios:

SELECT COUNT(*)

Hey Bob, how many people are in the class room?

mysql_num_rows

Hey Bob, send all the people from the classroom over to me, ... I'll count them to get the number of people myself
 



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.