PHP Random Object Generator
Ik ben probeer een generator te maken die een willekeurige voetbalclubs uit kiest.
Ik wil graag dat je op een knop drukt en dat er dan zomaar een club tevoorschijn komt.
Tot nu is het niet echt gelukt en is dit er uitgekomen zover:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<!DOCTYPE html>
<html>
<body>
<h2>You Random Genarated Club is:<h2>
<?php
$input = array("ADO Den Haag ","Ajax","AZ","De Graafschap","Excelsior","FC Groningen","FC Twente","FC Utrecht","Feyenoord","Heracles Almelo","NEC","PEC Zwolle","PSV","Roda JC Kerkrade","SC Cambuur","sc Heerenveen","Vitesse","Willem II"
);
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
?>
</body>
</html>
<html>
<body>
<h2>You Random Genarated Club is:<h2>
<?php
$input = array("ADO Den Haag ","Ajax","AZ","De Graafschap","Excelsior","FC Groningen","FC Twente","FC Utrecht","Feyenoord","Heracles Almelo","NEC","PEC Zwolle","PSV","Roda JC Kerkrade","SC Cambuur","sc Heerenveen","Vitesse","Willem II"
);
$rand_keys = array_rand($input, 2);
echo $input[$rand_keys[0]] . "\n";
?>
</body>
</html>
Heeft iemand tips hoe ik dit beter kan doen, alvast bedankt.
Code tags toegevoegd[/modedit]
Gewijzigd op 04/10/2015 17:53:15 door Bas IJzelendoorn
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$clubs = ["ADO Den Haag","Ajax","AZ","De Graafschap","Excelsior","FC Groningen","FC Twente","FC Utrecht","Feyenoord","Heracles Almelo","NEC","PEC Zwolle","PSV","Roda JC Kerkrade","SC Cambuur","sc Heerenveen","Vitesse","Willem II"];
$rclub = array_rand($clubs);
echo $rclub . "\n";
?>
$clubs = ["ADO Den Haag","Ajax","AZ","De Graafschap","Excelsior","FC Groningen","FC Twente","FC Utrecht","Feyenoord","Heracles Almelo","NEC","PEC Zwolle","PSV","Roda JC Kerkrade","SC Cambuur","sc Heerenveen","Vitesse","Willem II"];
$rclub = array_rand($clubs);
echo $rclub . "\n";
?>
Ik zou als ik jouw was de clubs iets dynamischer te maken. Mochten er in de toekomst clubs bijkomen of verdwijnen staan deze direct in je code en is dit lastig aan te passen. Je zou een database kunnen gebruiken of voor simpel gebruik of een text bestand met op elke lijn een andere club.
Gewijzigd op 04/10/2015 07:46:21 door Johan K
Werken met een database lijkt mij ook wel een stak plan.
Om te voorkomen dat clubs tegenover zichzelf komen te staan zou ik een getrokken vlub ook uit de array verwijderen.
Toevoeging op 05/10/2015 04:02:07:
Het moet zoiets als dit worden. https://www.chrishair.co.uk/fifa16/#
phpMyAdmin is wel de meest bekende database-management tool. 10 tegen 1 dat deze al op je pc/server geïnstalleerd is. Op youtube staan wel leuke video's die laten zien hoe je hiermee aan de slag kunt.
Hier een leuke start als je wilt leren over SQL en MySQL in combinatie met PHP.
Gewijzigd op 05/10/2015 08:53:45 door Frank Nietbelangrijk
Hm das erg lastig.. Ik heb nu Wampserver dat heeft ook Mysql zou iemand een voorbeeldje kunnen maken. hoe het eruit ziet met een randomnizer en dan met een database?
Toevoeging op 06/10/2015 13:56:28:
Heb nu zelf wat gevonden heb nu deze lijn
$query = "SELECT TOP 1 column * FROM clubs ORDER BY NEWID()" ;
Krijg alleen steeds een Error:
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in
Iemand een idee waar ik de mist in ga?
Bouw nette foutafhandeling in.
Toevoeging op 06/10/2015 14:06:06:
Alleen nu weet ik niet hoe je hetzelfde antwoord niet nog een keer krijgt, weet iemand dit :P ?
Gewijzigd op 06/10/2015 14:20:17 door Bob Kresno
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
//opzetten databaseconnectie
$db = new mysqli(<connectiedetails>);
//queries
$result = $db->query('SELECT FLOOR(RAND() * COUNT(*)) AS `sample` FROM `clubs`');
$row = $result->fetch_assoc();
$result->free();
$result = $db->query('SELECT * FROM `clubs` LIMIT ' . $row['sample'] . ', 1');
$club = $result->fetch_assoc();
$result->free();
//test uitvoer
header('Content-type: text/plain');
var_dump($club);
die();
?>
//opzetten databaseconnectie
$db = new mysqli(<connectiedetails>);
//queries
$result = $db->query('SELECT FLOOR(RAND() * COUNT(*)) AS `sample` FROM `clubs`');
$row = $result->fetch_assoc();
$result->free();
$result = $db->query('SELECT * FROM `clubs` LIMIT ' . $row['sample'] . ', 1');
$club = $result->fetch_assoc();
$result->free();
//test uitvoer
header('Content-type: text/plain');
var_dump($club);
die();
?>
Gewijzigd op 06/10/2015 14:37:37 door Bob Kresno