Andrew John
Andrew John

Reputation: 163

How to randomly select a video and play?

Im learning JQuery and php.

Is it possible to store multiple video links within variables and get php to echo one at random??

My goal is to control my own video ads on my site and I thought this would be a good idea but I dont have a clue where I should look online.

Here is what I was thinking

<?php 

 $advert1 = 'MyVIDEO1.mp4';
 $advert2 = 'MyVideo2.mp4';
 $advert3 = 'MyVideo3.mp4';

 I want a code that would go here and say: randomly select one of these vars.

 echo "At random one of the vars";

?> 

I hope Im making sense. help?

Upvotes: 0

Views: 1318

Answers (5)

Reeno
Reeno

Reputation: 5705

You can also use array_rand() instead of shuffle():

<?php
$videos = array("MyVIDEO1.mp4", "MyVideo2.mp4", "MyVideo3.mp4");
echo $videos[array_rand($videos)];
?>

For embedding the video in the right way, have a look at http://www.w3schools.com/html/html_videos.asp

Upvotes: 1

MD SHAHIDUL ISLAM
MD SHAHIDUL ISLAM

Reputation: 14523

You have need all value in a array then find index randomly and show it.

<?php 

$advert  = array(
        'MyVIDEO1.mp4',
        'MyVideo2.mp4',
        'MyVideo3.mp4'
    );

$total_video = count($advert);

$total_video--; //array index starting from 0 so decrease 1

$random_index = rand(0, $total_video); //array index 0 to 2

$video_to_play = $advert[$random_index];

echo $video_to_play;

?> 

Upvotes: 0

Leonardo Ratzlaff
Leonardo Ratzlaff

Reputation: 66

You could make an array, like this:

$advert[] = array();
$advert[1] = 'MyVIDEO1.mp4';
$advert[2] = 'MyVIDEO2.mp4';
$advert[3] = 'MyVIDEO3.mp4';

$chosen_one = rand(1,count($advert));

echo $advert[$chosen_one];

Upvotes: 1

Ali
Ali

Reputation: 3461

This is a simple solution

Place your adverts in an array

<?php
$adverts = array("advert1" => "MyVIDEO1.mp4",
                 "advert2" => "MyVIDEO2.mp4",
                 "advert3" => "MyVIDEO3.mp4");

$count = count($adverts);
$rand_advert = rand(1, $count);
echo $adverts['advert'.$rand_advert];
?>

Or alternatively if you don't want to have keys and just put the values in the array straight away

<?php
$adverts = array("MyVIDEO1.mp4",
                 "MyVIDEO2.mp4",
                 "MyVIDEO3.mp4");

shuffle($adverts);
echo $adverts[0];
?>

Upvotes: 0

Djave
Djave

Reputation: 9329

For a start, PHP itself won't exactly play a video. You could use it to echo out one of the URL's to a video. So, bear in mind there is a lot more to do than just select a video.

To answer your question in the code I'd recommend the following:

Try looking up PHP arrays. You want to keep all the videos in an array.
Next up, you'll want to shuffle that array. Then select the first element.

$videos = array("MyVIDEO1.mp4", "MyVideo2.mp4", "MyVideo3.mp4");
shuffle($videos);
echo $videos[0];

Upvotes: 0

Related Questions