mt_rand()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Medior PHP developer

Functie Het team bestaat inmiddels uit zo’n 25 collega’s met specialisten op het gebied van development, data(analyse), marketing, infrastructuur en finance. Ze hebben een supermodern pand en bieden hiernaast veel vrijheid en verantwoordelijkheid. Ze doen er alles aan om jou op te gemak te stellen. Zo kun je je eigen werkplek inrichten naar persoonlijke wensen, maar gaan ze bijvoorbeeld ook jaarlijks met elkaar wintersporten en zijn er andere leuke uitjes. Als onderdeel van één van de scrumteams ga je aan de slag, samen ben je medeverantwoordelijk voor het doorontwikkelen van hun business applicatie waar het traffic team dagelijks mee werkt.

Bekijk vacature »

PHP Developer

Functieomschrijving Vanuit het hoofdkantoor in de regio van Bergen op Zoom ben je als PHP Developer niet alleen gefocust op het ontwikkelen van Software. Daarnaast ben je ook voortdurend bezig met het zoeken naar nieuwe mogelijkheden en innovaties die essentieel kunnen zijn voor de efficiëntie van software ontwikkeling. Je deelt veel kennis en informatie met het team en ontvangt deze dan ook graag terug. Techstack: PHP, Symfony & mySQL. Bedrijfsprofiel Deze uitdagende opdrachtgever is ruim 20 jaar actief in de regio Bergen op Zoom. Het vooruitstrevende team staat de hele dag voor je klaar om je te helpen en ondersteunen.

Bekijk vacature »

Senior PHP developer

Functie Als Senior PHP developer heb je een sterke mening over de architectuur van projecten en de processen binnen het team. Je bent de sparringpartner voor je Team Lead. Ook ondersteun je met jouw kennis de minder ervaren developers in jouw team. Ze werken regelmatig aan projecten vanaf scratch en dit geeft ruimte om voor nieuwe technieken te kiezen. Naast het ontwikkelen van software ben je continue bezig om ook jezelf te ontwikkelen. Ze werken met o.a.: PHP, Laravel, Doctrine, PHP Unit, Behat, React, TypeScript, (My)SQL, Postgress, Redis, ElasticSearch, Docker, Nginx, GIT flow, JIRA, AWS. Eisen • HBO werk- en

Bekijk vacature »

Hands-on Solution Architect / Software Architect (

TenneT is hard groeiend om de onze ambities waar te kunnen maken. Zo nemen wij een leidende rol in het aanjagen van de energietransitie. Het werven van nieuw talent speelt daarin een cruciale rol. Wij zijn op zoek naar een gedreven Solution Architect / Software Architect op onze locatie Arnhem die hieraan wil bijdragen en misschien ben jij dat wel? Jouw bijdrage aan TenneT Je werkt samen met gedreven DevOps teams, bestaande uit frontend, backend en middleware developers, testers, UX-designers. Samen met de teams ben je continu op zoek naar de beste oplossingen voor onze klanten. Als Solution Architect onderzoek

Bekijk vacature »

Front end developer React

Functie Wij zijn van origine een wordpress bureau, maar sinds 2006 zijn wij dit wel redelijk ontgroeid. Naar mate de jaren verstreken zijn we gegroeid in omvang, maar ook in de complexiteit van opdrachten waarin wij onze klanten kunnen bedienen. Momenteel bestaat onze organisatie uit 4 front end developers, 12 back end developer 3 projectmanagers en een 2 koppig management. Wij zijn een hele informele, bijna familiaire organisatie. Geen strak pak of overhemd, nee gewoon dragen waar jij je prettig bij voelt. De gemiddelde leeftijd ligt tussen de 25 en 30 en wij doen er veel aan om onze hechte

Bekijk vacature »

Senior .NET developer

Klaar voor een nieuwe uitdaging? Welke technologieën gaan schuil achter de dagelijkse energievoorziening? Als senior .NET developer bij Kenter maak jij samen met je team het verschil, zowel voor de interne organisatie als voor eindklanten. Samen bouwen jullie aan innovatieve dienstverlening met behulp van de nieuwste technologieën en tools. Het is een functie met veel vrijheid, goede arbeidsvoorwaarden én je draagt jouw steentje bij aan de energietransitie. Klinkt dit als iets voor jou? Lees dan verder of solliciteer direct! Wat ga je doen als senior .NET developer? Als senior .NET developer bij Kenter (onderdeel van Alliander) ben je van onschatbare

Bekijk vacature »

Junior .NET developer

Functie Wij hebben drie scrumteams. Het eerste team focust zich op het stukje hardware wat wij in huis doen. Zij maken als team o.a. gebruik van C++. De andere twee scrumteams zijn allebei bezig met data verwerking en maken hierbij in de backend gebruik van C# .NET / .NET Core. Het verschil tussen deze teams is dat één team de data verwerking doet voor de mobiele applicatie. Zij werken hierbij dus ook met Xamarin. Het andere team focust zich op de webapplicaties en maakt hierbij ook gebruik van ASP.NET MVC. Op basis van jouw ambities en kwaliteiten kijken wij samen

Bekijk vacature »

SQL ontwikkelaar

Functieomschrijving Voor een gave werkgever in regio Breda zijn wij per direct op zoek naar een SQL ontwikkelaar/ functioneel consultant. Hier wordt jij mede verantwoordelijk voor zowel de design en implementatie van SQL-databases als voor het verstaan van de processen van klanten naar het vertalen van deze processen naar IT-oplossingen. Jouw takenpakket komt als volgt uit te zien: Je test de ontwikkelde oplossingen om er zeker van te zijn dat deze voldoen aan de functionele specificaties en de behoeften van de organisatie; Je ontwerpt, ontwikkelt en implementeert SQL-databases om de data behoeften van de organisatie te ondersteunen; Je stelt op

Bekijk vacature »

Full-stack developer

Als Full-stack developer bij KUBUS houd je je bezig met het ontwikkelen van de (web)applicatie en services van BIMcollab. Samen met je SCRUM team werk je aan zowel de front- als de back-end. Als softwarebedrijf bevindt KUBUS zich in een unieke positie. We bouwen aan onze eigen producten die wereldwijd door tienduizenden gebruikers worden gebruikt. Ons bedrijf heeft precies de juiste grootte: groot genoeg om echt impact te maken in de markt, maar klein genoeg om als individuele ontwikkelaar invloed uit te kunnen oefenen en echt het verschil te kunnen maken. Ons ontwikkelteam bestaat uit ruim 40 ontwikkelaars, testers, scrum

Bekijk vacature »

Developer Low-code

Dit ga je doen Low-code ontwikkeling van software voor landelijk bekende organisaties; Opleveren van mooie eindproducten, middels de Agile methodiek; Samenwerken in een team van 10 collega's; Direct contact met de eindklant over de gewenste oplossingen. Hier ga je werken Als Developer kom je te werken in de regio van Lelystad bij een organisatie die met toonaangevende klanten uit heel Nederland samen werkt. De producten en diensten van de organisatie bereiken miljoenen Nederlanders. Hierbij komt een grote hoeveelheid informatie kijken en deze moet discreet en veilig verwerkt worden. De processen die hierbij horen worden door het IT team vormgegeven. De

Bekijk vacature »

Junior Software Developer C# Verhuursector Verhuur

Samengevat: Wij ontwikkelen en leveren softwaresystemen voor de logistieke sector en de verhuursector. Ben jij geschikt als Junior Software Developer? Heb je ervaring met Delphi? Vaste baan: C# Software Developer Logistiek HBO €2.500 - €3.900 Deze werkgever is een software ontwikkelaar, gericht op software voor de logistieke sector. Deze werkgever heeft eigen producten ontwikkelen en leveren ook maatwerk. Ons bedrijf kent een boeiende en inspirerende werkomgeving met een open cultuur en mogelijkheden voor je verdere ontwikkeling. Bij bij hun werk je aan onze eigen bedrijfsapplicaties. Je ontwikkelt met ons de meest nieuwe software. Wij blinken uit als het gaat om

Bekijk vacature »

.NET Developer Medior Senior

Dit ga je doen Ontwikkelprocessen verder optimaliseren en verder ontwikkelen met C#; CI/CD-pipelines automatiseren; Herbruikbare componenten maken; Testen; Front-end pagina's gebruiksvriendelijk maken. Hier ga je werken Als .NET Developer kom jij terecht binnen een grote en internationale organisatie. Zij streven naar een positieve impact op de mens, milieu en maatschappij. Het bedrijf is oorspronkelijk een familiebedrijf en werkt aan de productie van hoogwaardige en technische systemen voor de gezondheidszorg. Momenteel willen zij betere ontwikkelprocessen creëren op internationaal gebied en staat kwaliteit en veiligheid voor hun op nummer 1! Als .NET Developer werk jij aan het ontwikkelen van verbeterde software voor

Bekijk vacature »

App Developer

Samen werken aan een gezonder Nederland en toekomstbestendige zorg voor iedereen. Dat is de impact die jij kan hebben als App Developer bij VGZ. Wil jij een bijdrage leveren aan een maatschappij waarin iedereen zich thuis voelt? Bekijk dan de vacature. Uit onderzoek van Computable is VGZ verkozen tot ‘beste niet-ICT werkgever voor ICT’ers van Nederland’ Hoe ook jij het verschil maakt Als App developer werk jij aan het belangrijkste communicatiekanaal van VGZ, namelijk de App! Als App developer bij VGZ maak je onderdeel uit van een van onze App-teams. Met een goede mix van kennis en ervaring zet je

Bekijk vacature »

Back end developer

Functie Jij als full stack ontwikkelaar komt te werken in een team bestaande uit 4 back end programmeurs, 2 vormgevers/ Front end developers en een online marketeer. Qua persoonlijkheden is het team erg gevarieerd van sportfanaten tot gameliefhebbers en Golfers. Een ding heeft iedereen hier gemeen; Passie voor goede code. In jouw rol zul je voor 90% van je tijd je bezig houden met het ontwikkelen van grote maatwerk applicaties. Daarnaast hebben wij op aanvraag ook wel eens een website of onderhoudsklusje, die opgepakt moet worden en hier ben jij ook niet vies van. De technische uitdaging momenteel is dat

Bekijk vacature »

Traineeship Full Stack Java developer

Dit ga je doen Start jij op 7 augustus bij de Experis Academy dan kickstart jij jouw IT-carrière! We leiden je op tot een gewilde Full Stack Java Developer met alle kennis en vaardigheden die nodig zijn om de arbeidsmarkt te betreden. Wat kun je verwachten, hoe zit een dag in het leven van een Trainee eruit? Periode 1 Als Full Stack Java Developer Trainee volg je vanuit huis een op maat gemaakte onlinetraining die in het Engels wordt gegeven. De tijd die je kwijt bent aan het volgen van de training kun je vergelijken met een fulltime werkweek. In

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

25/04/2024 14:17:13
 
- 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.