voetbal loterij
elke keer een club kiezen. bv club1=nr. 1 , club2=nr. 2. etc. Maar nu mogen ze maar een keer voorkomen. Als deze al een keer gekozen is, dan is het natuurlijk niet handig door de bewuste keuze nog een keer voor bijkomt. Kan iemand mij op weg helpen?? Ik ben nog niet erg lang bezig met php.
Shuffle en haal er een uit.
Shuffle en haal er nog een uit.
Net zo lang totdat het array() leeg is.
Je hebt dan nooit twee keer dezelfde.
1 keer? Of kun je me nog iets meer op weg helpen?
Code (php)
Je doorloopt het array() gewoon en jij hebt je clubs in willekeurige volgorde.
ok, dat snap ik. Het gaat er nu om dat niet alles in een keer wordt uitgevoerd, maar beetje bij beetje....
Maar nu kunnen clubs zichzelf kiezen.
Volgens mij gebeurt dat op deze manier niet... ik moet alleen die array elke keer opnieuw draaien en niet in een keer...
Toevoeging op 31/01/2011 20:32:21:
Kan iemand mij hiermee verder op weg helpen?
Los van het geen al is voorgesteld. Het gaat erom
dat elke keer opnieuw 1 club wordt gekozen.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$woorden = array("club1", "club2", "club3", "club4");
$kiesWoord = array_rand($woorden);
echo $woorden[$kiesWoord];
?>
$woorden = array("club1", "club2", "club3", "club4");
$kiesWoord = array_rand($woorden);
echo $woorden[$kiesWoord];
?>
Misschien heb je hier iets aan. Er wordt elke keer een willekeurig woord gekozen.
Gewijzigd op 01/02/2011 10:29:48 door henkieee watdenkie
Hieronder een opzetje met jQuery:
Code (php)
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
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
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {
echo '<pre>';
print_r($_POST);
echo '</pre>';
}
?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script>
var clubs = ['Ajax', 'PSV', 'Feyenoord'];
function genereerOpties(id) {
$('select#club'+id).append('<option>Selecteer een club</option>');
$.each(clubs, function(index, value) {
$('select#club'+id).append('<option>'+value+'</option>');
});
}
$(document).ready(function() {
genereerOpties(1);
$('select').change(function() {
var id = parseInt($(this).attr('id').replace('club', ''));
$(this).attr('disabled', true);
$('form').append('<input name="volgorde['+id+']" type="hidden" value="'+$(this).val()+'" />');
clubs = jQuery.grep(clubs, function(value) {
return value != $('#club'+id).val();
});
genereerOpties(id + 1);
});
});
</script>
<form method="post">
<label>Keuze 1</label>
<select id="club1">
</select>
<br /><label>Keuze 2</label>
<select id="club2">
</select>
<br /><label>Keuze 3</label>
<select id="club3">
</select>
<br /><input type="submit">
</form>
if($_SERVER['REQUEST_METHOD'] == 'POST') {
echo '<pre>';
print_r($_POST);
echo '</pre>';
}
?>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js" type="text/javascript"></script>
<script>
var clubs = ['Ajax', 'PSV', 'Feyenoord'];
function genereerOpties(id) {
$('select#club'+id).append('<option>Selecteer een club</option>');
$.each(clubs, function(index, value) {
$('select#club'+id).append('<option>'+value+'</option>');
});
}
$(document).ready(function() {
genereerOpties(1);
$('select').change(function() {
var id = parseInt($(this).attr('id').replace('club', ''));
$(this).attr('disabled', true);
$('form').append('<input name="volgorde['+id+']" type="hidden" value="'+$(this).val()+'" />');
clubs = jQuery.grep(clubs, function(value) {
return value != $('#club'+id).val();
});
genereerOpties(id + 1);
});
});
</script>
<form method="post">
<label>Keuze 1</label>
<select id="club1">
</select>
<br /><label>Keuze 2</label>
<select id="club2">
</select>
<br /><label>Keuze 3</label>
<select id="club3">
</select>
<br /><input type="submit">
</form>
Gewijzigd op 01/02/2011 12:26:43 door Lauren Zonneveld
Waarom nu weer Ajax gebruiken? Het is heel simpel: maak een array met de clubs, shuffle ze en zet die in een sessie. Elke keer dat je naar een nieuwe pagina gaat haal je de eerste (of laatste) uit de array zodat die club de volgende keer niet meer gekozen wordt.
Ik denk dat jij iets met een database moet gaan doen en dan opslaan welke club er al is geweest.
Je kan dan met de rand() functie een random club uitzoeken en dan in de where bijv geweest=0 doen
Laten we bij het begin beginnen. Waar zijn de gegevens opgeslagen ( de namen van de clubs ) in een database of in een bestand als array?
Dashti
Dashti Salar op 01/02/2011 14:15:32:
Hi Christiaan,
Laten we bij het begin beginnen. Waar zijn de gegevens opgeslagen ( de namen van de clubs ) in een database of in een bestand als array?
Dashti
Laten we bij het begin beginnen. Waar zijn de gegevens opgeslagen ( de namen van de clubs ) in een database of in een bestand als array?
Dashti
Hij is al op het punt dat hij de gegevens in een array heeft als ik de posts zo lees. Hij vraagt nu hoe over meerdere pagina's een semi-willekeurig plaatje getoond wordt. En @Vincent: niet in een database doen! Dan wordt je database overspoelt met tijdelijke data. Voor tijdelijke data zijn sessies uitgevonden. Dus shuffle een array, zet hem in een sessie en haal er op elke pagina één uit.
The Force op 01/02/2011 14:13:21:
Waarom nu weer Ajax gebruiken? Het is heel simpel: maak een array met de clubs, shuffle ze en zet die in een sessie. Elke keer dat je naar een nieuwe pagina gaat haal je de eerste (of laatste) uit de array zodat die club de volgende keer niet meer gekozen wordt.
het is voor een gemeentecup waar (ongeveer) 10 clubs aan meedoen. Is er dan ook een mogelijheid dat ze automatisch eruit worden gehaald.??
Toevoeging op 02/02/2011 09:46:57:
ik heb snel even een bestand gemaakt om het iets meer visueel te maken. Dan wordt het wellicht wat duidelijker. http://www.jcled2.nl/voetballoting.jpg