mt_rand()

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Xamarin Developer

Jij weet dat apps het leven gemakkelijker maken en draagt daar graag aan bij. Sterker nog: jij wilt apps ontwikkelen die het verschil maken zonder daarbij in te leveren op veiligheid of gebruiksvriendelijkheid. Xamarin Development expert Als Xamarin Developer bij Sogeti ga je apps ontwerpen, uitwerken en realiseren, waarmee je jouw klanten – de top van het Nederlandse bedrijfsleven – vooruit helpt. Is het enkel Xamarin dat de klok slaat? Natuurlijk niet, jouw ambitie en leergierigheid maken dat je ook thuis bent in andere omgevingen. Bovendien breid je je kennis en ervaring graag uit, zodat je je ontwikkelt tot topprofessional!

Bekijk vacature »

Junior, medior of senior .NET C# ontwikkelaar, com

Ben je als junior, medior of senior .NET ontwikkelaar op zoek naar een analytische omgeving? Waar hoogopgeleiden en ervaren collega’s jouw kennis naar een hoger niveau kunnen tillen? Waar je met een leuk team samen aan innovatieve producten werkt? Dan zou de deze organisatie wel eens goed bij je kunnen passen. Voor een organisatie in Delft zoeken we momenteel een junior, medior of senior .NET C# ontwikkelaar. De organisatie richt zich zowel op websites als complexe maatwerk applicaties voor externe klanten. Tevens moet je (afhankelijk van je niveau) mee kunnen denken met functionele en architectonische vraagstukken. De projecten kunnen erg

Bekijk vacature »

Xamarin Developer

Jij weet dat apps het leven gemakkelijker maken en draagt daar graag aan bij. Sterker nog: jij wilt apps ontwikkelen die het verschil maken zonder daarbij in te leveren op veiligheid of gebruiksvriendelijkheid. Xamarin Development expert Als Xamarin Developer bij Sogeti ga je apps ontwerpen, uitwerken en realiseren, waarmee je jouw klanten – de top van het Nederlandse bedrijfsleven – vooruit helpt. Is het enkel Xamarin dat de klok slaat? Natuurlijk niet, jouw ambitie en leergierigheid maken dat je ook thuis bent in andere omgevingen. Bovendien breid je je kennis en ervaring graag uit, zodat je je ontwikkelt tot topprofessional!

Bekijk vacature »

Hoog opgeleide developers gezocht voor high end ap

Functieomschrijving Je komt te werken in een van de vele Scrum teams en je gaat je bezig houden met diverse applicaties binnen de zorgsector. Je werkgever geeft je veel zelfstandigheid binnen de keuzes die je maakt en naast Java wordt er dan ook met meerdere talen gewerkt wanneer die beter bij een project passen. Je krijgt ook de ruimte om nieuwe talen te ontdekken wanneer die goed inpasbaar zijn. Ook kan je zelf met nieuwe ideeën komen voor applicaties waar dan, na enige toetsing uiteraard, ook tijd aan besteed kan worden. Het niveau van je collega's ligt hier echt heel

Bekijk vacature »

Ruby on Rails Developer in Twente

Dit in Twente gevestigd bedrijf is op dit moment op zoek naar een Ruby on Rails Developer. Eind jaren ’80 is het bedrijf opgericht. Anno 2017 zijn zij gespecialiseerd in het ontwikkelen van maatwerk oplossingen , webapplicaties en apps. Alles wordt ontwikkeld met Ruby on Rails aan de Back-end. Door met Ruby on Rails te ontwikkelen is het mogelijk om enorme complexe koppelingen gemakkelijk te koppelen. Omdat zij naast de maatwerk oplossingen die zij bieden ook veelal bezig zijn met het ontwikkelen van Softwarepakketten (SaaS), Is er sprake van voldoende variatie in de werkzaamheden. Ze kennen erg grote klanten en

Bekijk vacature »

Junior en Medior PHP’ers voor amuserend bedr

Voorheen hield het bedrijf zich bezig met het verzorgen van trainingen en cursussen voor de drogisterij branche. Op een langere termijn zijn ze zich verder gaan ontwikkelen in de cursussen en trainingen, waardoor ze ook een enorme groei hebben doorgemaakt. Deze groei bevat de ontwikkelingen die het bedrijf heeft doorgemaakt met betrekking tot de trainingen en cursussen die er nu op meerdere vlakken worden gegeven. Daarnaast heeft het bedrijf ook een andere tak. Bij de andere tak worden er interactieve video’s ontwikkeld voor het bedrijf die door de gebruikers aanpasbaar zijn. Het bedrijf heeft grote klanten en opdrachtgevers. Zo worden

Bekijk vacature »

Start met het Java IT-traineeship en word junior p

Wat ga je doen? IT-traineeship bij YoungCapital Professionals In ons tweejarig Java IT-traineeship word jij opgeleid tot gecertificeerd Java programmeur mét praktijkervaring. Je start met een fulltime opleiding van zeven weken, gegeven door programmeurs uit de praktijk. Onderwerpen die worden behandeld zijn o.a. Java Fundamentals, Spring MVC, Scrum, databases, JavaScript en testing. Naast de theoretische verdieping word je individueel uitgedaagd met praktijkopdrachten. De opleiding sluit je af met een eindproduct en het behalen van het Oracle Certified Associate (1Z0-808)- en Scrum-certificaat. Jouw start bij de opdrachtgever Na de opleiding ga je aan de slag bij één van onze opdrachtgevers in

Bekijk vacature »

Innovatieve medior C#/ASP .NET developer voor in-h

Onze opdrachtgever is een Retail automatiseerder. Ze kennen de Retail processen door en door en ontwikkelen innovatieve oplossingen. Bij onze opdrachtgever staan vakkennis, passie en toewijding op nummer 1. Het voornaamste waar deze opdrachtgever om bekend staat is hun imago. Hun hoge kwaliteitsstandaard en langdurige relaties zorgt voor een vriendelijk beeld waar bedrijven deel van willen zijn. Functie-omschrijving Bij onze opdrachtgever zal jij werken aan de back-end van een eigen platform waaraan verschillende applicaties gekoppeld zijn. Denk hierbij aan functies voor afrekenen, kortingsacties en exports. Het eigen platform is ontwikkeld in .NET (Voornamelijk middels C#) met databases gebaseerd op Ms-SQL.

Bekijk vacature »

.Net front-end Developer

Wat je gaat doen: Of beter nog, wat wil jij doen? Bij DPA GEOS werken onze consultants als Front-end Developer in Agile teams bij onze klanten en zijn ze verantwoordelijk voor de grotere webapplicaties. Wil jij dit ook, want we zijn op zoek naar enthousiaste Front-end Developers om ons development team te versterken. Je draagt positief bij aan de teamgeest binnen een projectteam en je ondersteunt de software architect en projectleider bij hun werkzaamheden. Je gaat webapplicaties maken voor verschillende opdrachtgevers in jouw regio. Je bent een professional die het IT-vak serieus neemt en kwaliteit levert. Je leert snel vanwege

Bekijk vacature »

Java backend developer voor mode branche Interne f

Functieomschrijving Je gaat hier werken aan de backend van een webportaal gebouwd in Java dat gebruikt wordt door zeer bekende mode merken. Je komt in een team met een ux designer en een senior Java developer en er zijn ook nog 2 mobile developers actief die de mobile apps voor hun rekening nemen. Je gaat werken met o.a. wicket, webservices, tomcat en angular. De functie is intern dus je ziet ook het resultaat van je werk, je gaat geen file rijden en lekker op tijd weer naar huis! Functie-eisen - Je hebt een afgeronde HBO (IT) - Je hebt goede

Bekijk vacature »

Senior .NET Developer

Ben jij een Senior .NET Developer en op zoek naar een nieuwe uitdaging binnen een productie omgeving? Lees dan snel verder! Functieomschrijving Als Senior .NET Developer neem je het voortouw in de ontwikkeling van een nieuw platform voor meerdere fabrieken. Je zal nauw samenwerken met diverse afdelingen en een adviserende rol innemen. Als Senior .NET Developer ben je het schakelpunt tussen je IT collega’s, key users, eindgebruikers en leveranciers. Jouw pro-actieve benadering en passie zorgen ervoor dat storingen worden voorkomen. Functie-eisen Afgeronde HBO opleiding in de richting Informatica, Computer Science, Technische Bedrijfskunde of vergelijkbaar 5+ jaar ervaring met het ontwikkelen

Bekijk vacature »

.NET ontwikkelaar Almere

Functieomschrijving Altijd al willen werken voor een bedrijf dat de Efteling tot hun klant kan noemen? Onderhouden en uitbouwen bestaande desktop en webapplicatie; Ontwikkelen van nieuwe functionaliteiten; Ontwikkelen van webservices en verschillende koppelingen met XML/SOAP; Formuleren van user stories; Unit testen uitvoeren; Meedenken over de groei en ontwikkeling van het bedrijf; Welke projecten kan je verwachten? Inventariseren huidige applicatie / architectuur; Optimaliseren van het development proces; Inrichten van CI / CD (Jenkins); Opzetten automated testing; Vernieuwen van de applicatie door o.a het toepassen van moderne technieken. Denk dan aan Angular 2, MVC, HTML5, ASP.NET Core, .NET core, WPF, of NodeJS.

Bekijk vacature »

Ga jij voor het hoogst haalbare en ga je nieuwe te

Deze organisatie staat voor kwaliteit en voorziet haar klanten van diverse software oplossingen. Echter zijn dit allemaal softwareoplossingen gebaseerd op Microsoft technologie en daardoor zijn zij de absolute expert op .NET gebied. De klanten bestaan uit zowel gerenommeerde namen als kleinere organisaties met een IT afdeling. De cultuur is hier informeel, familiar en er is sprake van een platte structuur met korte lijnen. De mensen, jij dus, zijn het meest waardevolle bezit van de organisatie en gaan boven alles. Er is veel mogelijk qua eigen voorkeuren en hier wordt goed rekening mee gehouden. Naast de gezellige en informele sfeer hebben

Bekijk vacature »

Hoe gemotiveerd ben jij? (Medior PHP developer)

In 1999 is het bedrijf opgericht. Ze houden van aanpakken, zijn allen erg gemotiveerd en zijn fulltime hands-on aan het ontwikkelen. Ze leveren volledige websites, webshops, webapplicaties en in sommige gevallen maken ze ook (mini)games. Ze hebben vele klanten verspreid over de hele land, waaronder ook grote partijen als Seat & Eneco. Door de groei die ze doormaken zijn ze momenteel hard op zoek naar een Medior PHP developer, die hun back-end team komt versterken. Functie-omschrijving Je komt te werken in een team van 10 ontwikkelaars. Deze ontwikkelaars zijn allemaal van hetzelfde niveau en zijn tevens ook allen jouw sparringpartners

Bekijk vacature »

Snel stappen maken in jouw .NET carrière? M

Op dit moment is er ruimte voor een Medior .NET developer. Deze organisatie is 20 jaar actief in het helpen van haar klanten met diverse IT vraagstukken en projecten. Inmiddels telt deze organisatie bijna 50 collega’s die allemaal goed zijn in hetgeen wat zij doen. De sfeer bij deze organisatie is te beschrijven als open en persoonlijk en kent een platte structuur. Ondanks dat je aan projecten gaat werken voor mooie toonaangevende bedrijven zal het persoonlijke aspect altijd belangrijk blijven. De lijnen zijn kort en je kan tot aan directie niveau snel schakelen. Functie-omschrijving Er wordt hier rekening gehouden met

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

15/02/2019 21:12:04
 
- 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.