adres.js
/*
* Adres v0.1
* Yazan : Ertugrul Yildirim - HunTER
* Ulasim : iletisim@eyildirim.org
*/
// Form
// ---------------------------------------------
function Form(isim){
var mform = {
// Cagir
cagir : function(isim){
mform.form = document.forms[isim];
},
// Liste
liste : function(isim){
var liste = {
cagir : function(isim){
liste.select = mform.form.elements[isim];
},
ekle : function(deger,metin){
var secenek = document.createElement('OPTION');
secenek.value = deger;
secenek.text = metin;
liste.select.options.add(secenek);
},
kaldir : function(no){
liste.select.options[no] = null;
},
yenile : function(dizi){
liste.temizle();
if(dizi){
for(i=0; i<dizi.length; i++){
liste.ekle(dizi[i][0],dizi[i][1]);
}
}
},
temizle : function(){
for(i=liste.select.options.length-1; i>=0; i--){
liste.kaldir([i]);
}
}
}
if(isim) liste.cagir(isim);
return liste;
},
// Adres
adres : function(ulke,il,ilce,semt){
var adres = {
ulke : mform.liste(ulke),
il : mform.liste(il),
ilce : mform.liste(ilce),
semt : mform.liste(semt),
secim : 'hayir',
getir : function(ulke,il,ilce,semt){
var xhr = new XHR('/admin/adres.php');
xhr.talep('tur=ulke&ulke='+ulke+'&il='+il+'&ilce='+ilce+'&secim='+adres.secim);
xhr.islem = function(){
var cevap = xhr.cevap();
eval('var dizi='+cevap);
if(adres.ulke.select){
adres.ulke.yenile(dizi.ulke);
adres.ulke.select.value = ulke;
adres.ulke.select.onchange = function(){ adres.yenile('il','ulke='+adres.ulke.select.value); }
}
if(adres.il.select){
adres.il.yenile(dizi.il);
adres.il.select.value = il;
adres.il.select.onchange = function(){ adres.yenile('ilce','il='+adres.il.select.value); }
}
if(adres.ilce.select){
adres.ilce.yenile(dizi.ilce);
adres.ilce.select.value = ilce;
adres.ilce.select.onchange = function(){ adres.yenile('semt','ilce='+adres.ilce.select.value); }
}
if(adres.semt.select){
adres.semt.yenile(dizi.semt);
adres.semt.select.value = semt;
}
}
},
yenile : function(tur,ust){
var xhr = new XHR('/admin/adres.php');
xhr.talep('tur='+tur+'&'+ust+'&secim='+adres.secim);
xhr.islem = function(){
eval('var dizi='+xhr.cevap());
if(tur == 'il') adres.il.yenile(dizi.il);
if(tur == 'il' || tur == 'ilce') adres.ilce.yenile(dizi.ilce);
if(tur == 'il' || tur == 'ilce' || tur == 'semt') adres.semt.yenile(dizi.semt);
}
}
}
return adres;
}
}
if(isim) mform.cagir(isim);
return mform;
}
// XHR
// ---------------------------------------------
function XHR(hedef){
var xhr = {
// Islem
islem : function(){
return true;
},
// Baglan
baglan : function(hedef){
this.xhr = new _xhr(this);
this.xhr.open('POST',hedef,true);
this.xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded; charset=utf-8');
},
// Talep
talep : function(talep){
this.xhr.send(talep);
},
// Cevap
cevap : function(){
return this.xhr.responseText;
}
}
// Baglan ...
if(hedef) xhr.baglan(hedef);
return xhr;
}
// XHR - Temel
// ---------------------------------------------
function _xhr(nesne){
var xhr;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try { xhr = new ActiveXObject("Msxml2.XMLHTTP"); }
catch(e) {
try{ xhr = new ActiveXObject("Microsoft.XMLHTTP"); }
catch(e){ xhr = false; }
}
@else xhr=false; @end @*/
if(!xhr && typeof XMLHttpRequest != 'undefined'){
try{ xhr = new XMLHttpRequest(); }
catch (e){ xhr = false; }
}
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200) nesne.islem();
};
return xhr;
}adres.php<?
/*
* Adres v0.1
* Yazan : Ertugrul Yildirim - HunTER
* Ulasim : iletisim@eyildirim.org
*/
# Adres
# ---------------------------------------------------------
require_once('/Connections/baglan.php');
header('content-type: text/html; charset=utf-8');
# Adres
# ---------------------------------------------------------
class Adres extends DatabaseClass{
var $tur;
var $ulkeno;
var $ilno;
var $ilceno;
var $secim;
# Kurucu
# ---------------------------------------------------------
function Adres($talep){
$dba = new DatabaseClass;
$dba->connect();
$this->tur = $talep['tur'];
$this->ulkeno = $talep['ulke'];
$this->ilno = $talep['il'];
$this->ilceno = $talep['ilce'];
$this->semtno = $talep['semt'];
$this->secim = $talep['secim'];
}
# Cikart
# ---------------------------------------------------------
function Cikart(){
$dba = new DatabaseClass;
$dba->connect();
$dba->query("SET NAMES 'utf8'");
$dba->query("SET CHARACTER SET utf8");
$dba->query("SET COLLATION_CONNECTION = 'utf8_turkish_ci'");
// Secim
if($this->secim == 'evet'){
$ulke[] = "['','Seciniz ...']";
$il[] = "['','Seciniz ...']";
$ilce[] = "['','Seciniz ...']";
$semt[] = "['','Seciniz ...']";
}
// Ulke
if($this->tur == 'ulke'){
$sorgu = $dba->query("SELECT no,ulke FROM adres_ulke ORDER BY sira DESC, ulke ASC");
while($sonuc = $dba->fetch_assoc($sorgu)) $ulke[] = "['$sonuc[no]','$sonuc[ulke]']";
}
// Il
if($this->tur == 'ulke' or $this->tur == 'il'){
if(!$this->ulkeno){
$sorgu = $dba->query("SELECT no FROM adres_ulke ORDER BY sira DESC, ulke ASC LIMIT 1");
$sonuc = $dba->fetch_assoc($sorgu);
$this->ulkeno = $sonuc['no'];
}
$sorgu = $dba->query("SELECT no,il FROM adres_il WHERE ulke='$this->ulkeno' ORDER BY sira DESC, il ASC");
while($sonuc = $dba->fetch_assoc($sorgu)) $il[] = "['$sonuc[no]','$sonuc[il]']";
}
// Ilce
if($this->tur == 'ulke' or $this->tur == 'il' or $this->tur == 'ilce'){
if(!$this->ilno){
$sorgu = $dba->query("SELECT no FROM adres_il WHERE ulke='$this->ulkeno' ORDER BY sira DESC, il ASC LIMIT 1");
$sonuc = $dba->fetch_assoc($sorgu);
$this->ilno = $sonuc['no'];
}
$sorgu = $dba->query("SELECT no,ilce FROM adres_ilce WHERE il='$this->ilno' ORDER BY sira DESC, ilce ASC");
while($sonuc = $dba->fetch_assoc($sorgu)) $ilce[] = "['$sonuc[no]','$sonuc[ilce]']";
}
// Semt
if($this->tur == 'ulke' or $this->tur == 'il' or $this->tur == 'ilce' or $this->tur == 'semt'){
if(!$this->ilceno){
$sorgu = $dba->query("SELECT no FROM adres_ilce WHERE il='$this->ilno' ORDER BY sira DESC, ilce ASC LIMIT 1");
$sonuc = $dba->fetch_assoc($sorgu);
$this->ilceno = $sonuc['no'];
}
$sorgu = $dba->query("SELECT no,semt FROM adres_semt WHERE ilce='$this->ilceno' ORDER BY sira DESC, semt ASC");
while($sonuc = $dba->fetch_assoc($sorgu)) $semt[] = "['$sonuc[no]','$sonuc[semt]']";
}
// Dizi
if(is_array($ulke)) $cikti[] = '\'ulke\':['.implode(',',$ulke).']';
if(is_array($il)) $cikti[] = '\'il\':['.implode(',',$il).']';
if(is_array($ilce)) $cikti[] = '\'ilce\':['.implode(',',$ilce).']';
if(is_array($semt)) $cikti[] = '\'semt\':['.implode(',',$semt).']';
if(is_array($cikti)) echo '{'.implode(',',$cikti).'}';
else echo '{}';
}
}
$adres = new Adres($_REQUEST);
$adres->Cikart();
?>