Plaatje vaker laten zien dan het andere plaatje
Onderstaande kom ik niet uit.
Ik moet het ene plaatje vaker laten zien dan het andere plaatje. Bijvoorbeeld het ene plaatje 50% van de keren, andere 20% en overige 10%.
Hoe kan ik dat doen?
Hieronder het script zoals ik het nu heb en dus uitgebreid moet worden met bovenstaande. Ik heb al vanalles bekeken en geprobeerd maar zonder het gewenste resultaat. Zal vast heel makkelijk zijn omdat ik vaak te moeilijk na denkn.
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
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
<?php
// Random Image With Link
function display_random_img($array) {
$key = rand(0 , count($array) -1);
$link_url = $array[$key]['url'];
$alt_tag = $array[$key]['alt'];
$random_img_url = $array[$key]['img_url'];
list($img_width, $img_height) = getimagesize($random_img_url);
return "<a href=\"$link_url\"><img src=\"$random_img_url\" width=\"$img_width\" height=\"$img_height\" alt=\"$alt_tag\" /></a>";
}
// Hier staat de informatie van de plaatjes
$images_array = array(
array(
'url' => 'http://g-voetbal.eu/',
'alt' => 'Suzanne trapt de bal op g-voetbaldag Barendrecht',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/38002_426707400237_3215939_n1.jpg'
),
array(
'url' => 'http://g-voetbal.eu/wat-is-g-voetbal/',
'alt' => 'Suzanne lacht tijdens toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/196192_10150950009280238_1807472408_n.jpg'
),
array(
'url' => 'http://g-voetbal.eu/mij/',
'alt' => 'Suzanne trapt de bal tijdens internationaal toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2014/10/1918353_197460475237_6263653_n.jpg'
)
);
echo display_random_img($images_array);
?>
// Random Image With Link
function display_random_img($array) {
$key = rand(0 , count($array) -1);
$link_url = $array[$key]['url'];
$alt_tag = $array[$key]['alt'];
$random_img_url = $array[$key]['img_url'];
list($img_width, $img_height) = getimagesize($random_img_url);
return "<a href=\"$link_url\"><img src=\"$random_img_url\" width=\"$img_width\" height=\"$img_height\" alt=\"$alt_tag\" /></a>";
}
// Hier staat de informatie van de plaatjes
$images_array = array(
array(
'url' => 'http://g-voetbal.eu/',
'alt' => 'Suzanne trapt de bal op g-voetbaldag Barendrecht',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/38002_426707400237_3215939_n1.jpg'
),
array(
'url' => 'http://g-voetbal.eu/wat-is-g-voetbal/',
'alt' => 'Suzanne lacht tijdens toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/196192_10150950009280238_1807472408_n.jpg'
),
array(
'url' => 'http://g-voetbal.eu/mij/',
'alt' => 'Suzanne trapt de bal tijdens internationaal toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2014/10/1918353_197460475237_6263653_n.jpg'
)
);
echo display_random_img($images_array);
?>
Hoe kom je dan op 100%? ;-)
Conceptueel krijg je zoiets:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
2
3
4
5
6
7
8
9
10
11
12
13
14
Gewijzigd op 05/10/2015 10:08:40 door Ward van der Put
Ward van der Put op 05/10/2015 10:07:32:
>> Bijvoorbeeld het ene plaatje 50% van de keren, andere 20% en overige 10%.
Hoe kom je dan op 100%? ;-)
Hoe kom je dan op 100%? ;-)
Tja van die 100% zag ik inderdaad. Was typefoutje. Ik snap natuurlijk wel dat het totaal op 100% moet komen.
Toevoeging op 05/10/2015 14:11:26:
Het lukt nog niet helemaal. Hij geeft een foutmelding op lijn 11. Dat is waar images_array[0]; staat.
wat doe ik fout?
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
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
<?php
// Percentages/kansen verdelen van 1 t/m 80:
$percentage = mt_rand(1, 80);
if ($percentage <= 50) {
// Kans 50%
$image = images_array[0];
} elseif ($percentage <= 70 {
// Kans 70% - 50% = 20%:
$image = images_array[1];
} else {
// Restkans 80% - 70% = 10%:
$image = images_array[2];
}
// Hier staat de informatie van de plaatjes
$images_array = array(
array(
'url' => 'http://g-voetbal.eu/',
'alt' => 'Suzanne trapt de bal op g-voetbaldag Barendrecht',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/38002_426707400237_3215939_n1.jpg'
),
array(
'url' => 'http://g-voetbal.eu/wat-is-g-voetbal/',
'alt' => 'Suzanne lacht tijdens toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/196192_10150950009280238_1807472408_n.jpg'
),
array(
'url' => 'http://g-voetbal.eu/mij/',
'alt' => 'Suzanne trapt de bal tijdens internationaal toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2014/10/1918353_197460475237_6263653_n.jpg'
)
);
echo display_random_img($images_array);
?>
// Percentages/kansen verdelen van 1 t/m 80:
$percentage = mt_rand(1, 80);
if ($percentage <= 50) {
// Kans 50%
$image = images_array[0];
} elseif ($percentage <= 70 {
// Kans 70% - 50% = 20%:
$image = images_array[1];
} else {
// Restkans 80% - 70% = 10%:
$image = images_array[2];
}
// Hier staat de informatie van de plaatjes
$images_array = array(
array(
'url' => 'http://g-voetbal.eu/',
'alt' => 'Suzanne trapt de bal op g-voetbaldag Barendrecht',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/38002_426707400237_3215939_n1.jpg'
),
array(
'url' => 'http://g-voetbal.eu/wat-is-g-voetbal/',
'alt' => 'Suzanne lacht tijdens toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/196192_10150950009280238_1807472408_n.jpg'
),
array(
'url' => 'http://g-voetbal.eu/mij/',
'alt' => 'Suzanne trapt de bal tijdens internationaal toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2014/10/1918353_197460475237_6263653_n.jpg'
)
);
echo display_random_img($images_array);
?>
Dat moet je voor regel 4 doen.
Ik heb gedaan zoals jij zei. Heb echter heel de code verplaatst. Of moest dat niet?
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
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
<?php
// Hier staat de informatie van de plaatjes
$images_array = array(
array(
'url' => 'http://g-voetbal.eu/',
'alt' => 'Suzanne trapt de bal op g-voetbaldag Barendrecht',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/38002_426707400237_3215939_n1.jpg'
),
array(
'url' => 'http://g-voetbal.eu/wat-is-g-voetbal/',
'alt' => 'Suzanne lacht tijdens toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/196192_10150950009280238_1807472408_n.jpg'
),
array(
'url' => 'http://g-voetbal.eu/mij/',
'alt' => 'Suzanne trapt de bal tijdens internationaal toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2014/10/1918353_197460475237_6263653_n.jpg'
)
);
// Percentages/kansen verdelen van 1 t/m 80:
$percentage = mt_rand(1, 80);
if ($percentage <= 50) {
// Kans 50%
$image = images_array[0];
} elseif ($percentage <= 70 {
// Kans 70% - 50% = 20%:
$image = images_array[1];
} else {
// Restkans 80% - 70% = 10%:
$image = images_array[2];
}
echo $percentage ($images_array);
?>
// Hier staat de informatie van de plaatjes
$images_array = array(
array(
'url' => 'http://g-voetbal.eu/',
'alt' => 'Suzanne trapt de bal op g-voetbaldag Barendrecht',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/38002_426707400237_3215939_n1.jpg'
),
array(
'url' => 'http://g-voetbal.eu/wat-is-g-voetbal/',
'alt' => 'Suzanne lacht tijdens toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/196192_10150950009280238_1807472408_n.jpg'
),
array(
'url' => 'http://g-voetbal.eu/mij/',
'alt' => 'Suzanne trapt de bal tijdens internationaal toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2014/10/1918353_197460475237_6263653_n.jpg'
)
);
// Percentages/kansen verdelen van 1 t/m 80:
$percentage = mt_rand(1, 80);
if ($percentage <= 50) {
// Kans 50%
$image = images_array[0];
} elseif ($percentage <= 70 {
// Kans 70% - 50% = 20%:
$image = images_array[1];
} else {
// Restkans 80% - 70% = 10%:
$image = images_array[2];
}
echo $percentage ($images_array);
?>
</body>
</html>
Hij geeft nu de foutmelding op $image = images_array[0];
En wat is de exacte foutmelding?
Parse error: syntax error, unexpected '[' in D:\wamp\www\IWP\Opdracht13.php on line 29
Zie ik ook nu pas maar je mist de $:
$image = $images_array[0];
Aangepast nu maar helaas nog steeds een foutmelding :(
Dit keer: syntax error, unexpected '{' in D:\wamp\www\IWP\Opdracht13.php on line 30
Dat is bij: } elseif ($percentage <= 70 {
mist een )
elseif ($percentage <= 70) {
Hij doet het nog niet helemaal maar ik zoek het nog wel verder uit. Mocht het niet lukken horen jullie het.
Nu even rust nemen. Ik kan het even niet meer zien haha.
-> echo $percentage ($images_array);
Moet dat niet zijn:
-> echo $images;
Gewijzigd op 05/10/2015 15:11:29 door Pieter R
Geeft nu deze foutmelding: Array to string conversion in D:\wamp\www\IWP\Opdracht13.php on line 37
IK ga nu echt even relaxen. Misschien dat ik daarna de fout wel zie.
En een array echo-en werkt inderdaad niet.
En als je doet -> print_r ($image);
Wat krijg je dan?
Dat is bij print_r $image;
Mijn code is nu. Zal wel iets heel stoms vergeten zijn.
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
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
<?php
// Hier staat de informatie van de plaatjes
$images_array = array(
array(
'url' => 'http://g-voetbal.eu/',
'alt' => 'Suzanne trapt de bal op g-voetbaldag Barendrecht',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/38002_426707400237_3215939_n1.jpg'
),
array(
'url' => 'http://g-voetbal.eu/wat-is-g-voetbal/',
'alt' => 'Suzanne lacht tijdens toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/196192_10150950009280238_1807472408_n.jpg'
),
array(
'url' => 'http://g-voetbal.eu/mij/',
'alt' => 'Suzanne trapt de bal tijdens internationaal toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2014/10/1918353_197460475237_6263653_n.jpg'
)
);
// Percentages/kansen verdelen van 1 t/m 80:
$percentage = mt_rand(1, 80);
if ($percentage <= 50) {
// Kans 50%
$image = $images_array[0];
} elseif ($percentage <= 70){
// Kans 70% - 50% = 20%:
$image = $images_array[1];
} else {
// Restkans 80% - 70% = 10%:
$image = $images_array[2];
}
print_r $image;
?>
// Hier staat de informatie van de plaatjes
$images_array = array(
array(
'url' => 'http://g-voetbal.eu/',
'alt' => 'Suzanne trapt de bal op g-voetbaldag Barendrecht',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/38002_426707400237_3215939_n1.jpg'
),
array(
'url' => 'http://g-voetbal.eu/wat-is-g-voetbal/',
'alt' => 'Suzanne lacht tijdens toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2013/09/196192_10150950009280238_1807472408_n.jpg'
),
array(
'url' => 'http://g-voetbal.eu/mij/',
'alt' => 'Suzanne trapt de bal tijdens internationaal toernooi',
'img_url' => 'http://g-voetbal.eu/test/wp-content/uploads/2014/10/1918353_197460475237_6263653_n.jpg'
)
);
// Percentages/kansen verdelen van 1 t/m 80:
$percentage = mt_rand(1, 80);
if ($percentage <= 50) {
// Kans 50%
$image = $images_array[0];
} elseif ($percentage <= 70){
// Kans 70% - 50% = 20%:
$image = $images_array[1];
} else {
// Restkans 80% - 70% = 10%:
$image = $images_array[2];
}
print_r $image;
?>
En met haakjes? -> print_r ($image);
Helaas. Hij geeft nu het volgende als uitvoer, maar ik moet het plaatje laten zien: Array ( => http://g-voetbal.eu/ [alt] => Suzanne trapt de bal op g-voetbaldag Barendrecht [img_url] => http://g-voetbal.eu/test/wp-content/uploads/2013/09/38002_426707400237_3215939_n1.jpg )
Gebruik $image['img_url']
Nope helaas werkt niet. Krijg nog steeds dezelfde uitvoer.
Code (php)
1
2
3
4
5
2
3
4
5
echo $image['url'];
echo '<br>';
echo $image['alt'];
echo '<br>';
echo $image['img_url'];
echo '<br>';
echo $image['alt'];
echo '<br>';
echo $image['img_url'];
Die moeten vervolgens weer in de html geplaatst worden.
Gewijzigd op 06/10/2015 20:01:44 door Pieter R