HAVING Kullanımı

Having cümleciği ile grup kriterleri tanımlanır, gruplanmış kolonlardaki veriler where cümleciği ile filtrelenemez, bunun yerine having cünleciği kullanılır.


Örneğin, öğrenciler tablosu aşağıdaki gibi olsun.

+-----+-----+------+

| id  | adi |notu  |

+-----+-----+------+

| 123 |Veli |60    |

| 124 |Veli |70    |

| 125 |Ali  |80    |

| 126 |Ali  |30    |

| 127 |Hasan|61    |

+-----+-----+------+

not ortalaması 60 dan büyük olan öğrencileri bulmak isteyelim.

mysql> SELECT adi, AVG(notu) FROM ogrenciler GROUP BY adi HAVING AVG(notu) > 60

+-----+------+

| adi |notu  |

+-----+------+

|Hasan|61    |

|Veli |65    |

+-----+------+

AVG Fonksiyonu

AVG([DISTINCT] expr)

expr ile verilen kolondaki değerlerin aritmetik ortalamasını döndürür. DISTINCT parametresi opsiyoneldir, verilirse kolondaki benzersiz değerlerin aritmetik ortalaması alınır. Eşleşen satır bulunamazsa null döndürür.


Öğrenciler tablosu aşağıdaki gibi olsun.

+-----+-----+------+

| id  | adi |notu  |

+-----+-----+------+

| 123 |Veli |60.5  |

| 124 |Veli |73.5  |

| 125 |Ali  |87.5  |

| 126 |Ali  |45.5  |

| 127 |Hasan|55.5  |

+-----+-----+------+

her öğrencinin not ortalamasını bulmak isteyelim.

mysql> SELECT adi, AVG(notu) FROM ogrenciler GROUP BY adi

+-----+------+

| adi |notu  |

+-----+------+

|Ali  |66.5  |

|Hasan|55.5  |

|Veli |67.5  |

+-----+------+

preg_match() Fonksiyonu

Sözdizimi:

1
int preg_match ( string desen, string metin,  array [eslesmeler] )

desen parametresi ile verilen metin bloğunu, metin içinde arar.
Bulunan eşleşmeleri eslesmeler dizisine doldurur. Aranan metin bloğu bulunursa 1, bulunamazsa 0 döndürür.

Örnek:

Aşağıdaki örnekte, düzenli ifadeler yardımıyla 300,5 rakamını metinde alıyoruz.

1
2
3
4
5
6
7
8
9
10
11
12
13
$metin= "Microsoftun değeri 300,5 milyar dolardır. ";
// \d+ ile herhangi bir ondalik sayıdan bir veya daha fazla kere olacağını, bize 300'ü verir
// sonra bir virgül olacağını
// sonra \d ile herhangi bir ondalık sayıdan bir tane olmasını istiyoruz.
$desen = "/\d+,\d/";
if(preg_match($desen,$metin,$eslesmeler))
{
print $eslesmeler[0];//Çıktı:300,5
}
else
{
print "Eşleşme bulunamadı.";
}

imagecopyresized() Fonksiyonu

Sözdizimi:

1
bool <strong><strong>imagecopyresized</strong></strong> ( resource $dst_image , resource $src_image , int $dst_x , int $dst_y , int $src_x , int $src_y , int $dst_w , int $dst_h , int $src_w , int $src_h )

Resim dosyasını yeniden boyutlandırır ve kopyasını oluşturur.

Örnek:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
$fileName = "test.jpg";
$newName = "test1.jpg";
 
$percent = 0.5;
list($width, $height) = getimagesize($fileName);
header("Content-type: image/jpeg");
 
// %50 oranında küçültülmüş yeni boyutları ayarlıyoruz.
$newHeight = $height * $percent;
$newWidth = $width * $percent;
 
 
$thumb = imagecreatetruecolor($newWidth,$newHeight);
$source = imagecreatefromjpeg($fileName);
 
// yeniden boyutlandırıyoruz
imagecopyresized($thumb,$source,0,0,0,0,$newWidth,$newHeight,$width,$height);
 
//ekrana yazdırıyoruz
imagejpeg($thumb);

getimagesize() Fonksiyonu

Sözdizimi:

1
array <strong>getimagesize</strong>( string $dosyaAdi )

Gif, jpeg, png veya swf türündeki resim dosyalarının boyutlarını getirir. 4 elemanlı bir dizi döndürür.

Örnek:

1
2
3
4
5
list($width, $height, $type, $attr) = getimagesize("img/flag.gif");
print "Genişlik:$width \n";
print "Yükseklik:$height \n";
print "Tip:$type \n";
print "Bilgi:$attr \n";

Çıktı:

Genişlik:105 Yükseklik:121 Tip:1 Bilgi:width=”105″ height=”121″