(207,24.10.2001,5,11,32,38,44,45)
sütunlu bir biçimde sayısal loto sql arşivim var.
php ile öyle bir şekilde sorgulatmak istiyorum ki (3,11,29,36,38,43) biçiminde sayıları verdiğim zaman geçmişten bugüne yapılmış bütün çekilişlerde verdiğim 6 sayılık dizi; kaç kere 2 tutturmuş, kaç kere 3, kaç kere 4 ...5.....6 tutturmuş.
php ve mysql ile akla gelen en optimize kod ve sorgu nasıl olabilir?
tamamen hobi olarak ilgileniyorum ama çok bunaldım.
zor bir şey farkındayım. :(

dl.dropbox.com
verdiğin veritabanı ile denedim çalışıyor gibi, biraz test etmek lazım.
function sayisalSorgula($s1, $s2, $s3, $s4, $s5, $s6) {
$sonucArray = array("alti" => 0, "bes" => 0, "dort" => 0, "uc" => 0, "iki" => 0);
$sayiArray = array($s1, $s2, $s3, $s4, $s5, $s6);
$sayiArraySql = join(',',$sayiArray);
$query = mysql_query("select * from loto where
s1 in ($sayiArraySql) or
s2 in ($sayiArraySql) or
s3 in ($sayiArraySql) or
s4 in ($sayiArraySql) or
s5 in ($sayiArraySql) or
s6 in ($sayiArraySql)");
while ($record = mysql_fetch_array($query)) {
$controlArray = array($record["s1"],$record["s2"],$record["s3"],$record["s4"],$record["s5"],$record["s6"]);
$diffArray = array_diff($sayiArray,$controlArray);
if (count($diffArray) == 0)
$sonucArray["alti"]++;
else if (count($diffArray) == 1)
$sonucArray["bes"]++;
else if (count($diffArray) == 2)
$sonucArray["dort"]++;
else if (count($diffArray) == 3)
$sonucArray["uc"]++;
else if (count($diffArray) == 4)
$sonucArray["iki"]++;
}
return $sonucArray;
}
print_r(sayisalSorgula(14, 17, 28, 33, 35, 49));
?>


@ocanal, foreach ve mysql_num_rows ile daha kolay/hızlı olur sanki.


olabilir, sanırım kontrol kısmını sql tarafında yapmak lazım, işin içinden çıkamadım orada.


şu anda müsait bir ortamda olmadığım için pek yazamıyorum ama aşağı yukarı.
$tutanlar = Array()
for($i=1;$i<(count($aray)+1);$i++){
$query = mysql_query("select id from .. where ...");
$tutanlar[$i] = mysql_num_rows($query);
}
$tutanlar 1 1 tutan sonuç sayısı
$tutanlar 2 2 tutan sonuç sayısı şeklinde döndürür.


@ocanal, şiir gibi olmuş. çalışıyor :) Çok teşekkürler.


@bir kac yazar once, bunu nereyesine ekleyip deneyebiliriz?
