3 Ocak 2012 Salı

Rasgele Film Önerisi (2 Boyutlu Dizi Örneği)


<html>
<head>
<title>Film Önerileri</title>
</head>
<body>
<?php
//Düğmeye basıldığı anda açılır listedeki verilerin kaybolmaması için
//Aşağıda ki kodları yazıyoruz.
if(isset($_GET['dugme']))
{
if($_GET['filmler']=="korku")
$selected1 = "selected='selected'";
else
$selected1 = "";

if($_GET['filmler']=="gerilim")
$selected2 = "selected='selected'";
else
$selected2 = "";

if($_GET['filmler']=="komedi")
$selected3 = "selected='selected'";
else
$selected3 = "";

}
?>
<form action=' ' method='get'>
<p>Film Türleri<select name='filmler'>
<option value='korku' <?php echo $selected1;?>>Korku</option>
<option value='gerilim' <?php echo $selected2;?>>Gerilim</option>
<option value='komedi' <?php echo $selected3;?>>Komedi</option>
</select>
<p><input type='submit' name='dugme' value='Öneri'></p>
</form>
<?php
//2 Boyutlu dizimizi tanımlıyoruz. 
$filmler=array(
"korku"=>array("Koleksiyoncu", "Ölülerin Şafağı", "Okul"),
"gerilim"=>array("Son Durak 4", "Musallat", "İskelet Anahtar"),
"komedi"=>array("Hababam Sınıfı: Üç Buçuk", "3 Idiots", "Yes Man"));
if(isset($_GET['dugme']))
{
/*Burada ki espiri açılır listeden gelen veri ile
tanımladığımız listedeki ilk boyutun indexlerinin aynı olması.
Böylece fazladan koşul tanımlamamız gerekmedi.
rand() fonksiyonu ilede 0-2 arası rasgele sayı ürettik.
dizideki film isimlerinin index değerlerine karşılık olarak.*/
$filmturu=$_GET['filmler'];
$oneri=rand(0,2);
//En son olarakta ekrana bastırdık. 
echo "Bu Katagori için önerdiğimizi Film: ".$filmler[$filmturu][$oneri];
}
?>
</body>
</html>