Sorgu İşlemleri Sınıfı

PHP
85 lines
<?php
class Sorgu{
var $degiskenler;
function Sorgu($veri,$urlkodla = false){
if(!is_array($veri)){
if($veri != ""){
$veri = preg_replace("/^\?/","",$veri);
$islem = explode("&",$veri);
foreach($islem as $deger){
$t = explode("=",$deger);
$t[1] = urldecode($t[1]);
$this->degiskenler[$t[0]] = $t[1];
}
}else{
$this->degiskenler = array();
}
}else{
if($urlkodla){
foreach($veri as $anahtar => $deger){
$veri[$anahtar] = urldecode($deger);
}
}
$this->degiskenler = $veri;
}
}
function degistir($ad,$deger){
$this->degiskenler[$ad] = $deger;
}
function sil($ad){
unset($this->degiskenler[$ad]);
}
function cokluekle($veri,$urlkodla = false){
if(!is_array($veri)){
$veri = preg_replace("/^\?/","",$veri);
if($veri != ""){
$islem = explode("&",$veri);
foreach($islem as $deger){
$t = explode("=",$deger);
$t[1] = urldecode($t[1]);
$this->degiskenler[$t[0]] = $t[1];
}
}
}else{
if($urlkodla){
foreach($veri as $anahtar => $deger){
$veri[$anahtar] = urldecode($deger);
}
}
$this->degiskenler = array_merge($this->degiskenler,$veri);
}
}
function getdegiskenler($tip){
switch($tip){
case "array":
return $this->degiskenler;
break;
case "query":
$sonuc = "";
foreach($this->degiskenler as $anahtar => $deger){
if($sonuc != ""){
$sonuc = $sonuc."&";
}
$sonuc = $sonuc.$anahtar."=".urlencode($deger);
}
return $sonuc;
break;
case "hidden":
$sonuc = "";
foreach($this->degiskenler as $anahtar => $deger){
$sonuc = $sonuc."<input tip=\"hidden\" ad=\"{$anahtar}\" deger=\"".htmlentities($deger)."\" />\n";
}
return $sonuc;
break;
}
}
}
if($_GET['postugetecevir'] != 'evet'){
$postveri = new Sorgu($_POST);
$postveri->degistir('postugetecevir','evet');
$postveri->cokluekle($_GET);
$get = $postveri->getdegiskenler('query');
header("Location: {$_SERVER['SCRIPT_NAME']}?{$get}");
}
print_r($_REQUEST);
?>
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

Markdown
1 lines
Array ( [postugetecevir] => evet )
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 

Ortalama Çıktısı Almak

MySQL
2 lines
CREATE TABLE `puanlar` (id int(11) PRIMARY KEY NOT NULL AUTO_INCREMENT,yazi int(11),puan int(11));
INSERT INTO `puanlar` (`yazi`, `puan`) VALUES (1, 3),(1, 4),(2, 1),(2, 4),(2, 3),(3, 1);
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
MySQL
1 lines
SELECT yazi,SUM(puan)/count(id) as ortalamapuan FROM puanlar GROUP BY yazi ORDER BY ortalamapuan DESC;
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Çıktısı

YAZI ORTALAMAPUAN
1 3.5
2 2.6667
3 1