İyinet'e Hoşgeldiniz!

Türkiye'nin En Eski Webmaster Forum'una Hemen Kayıt Olun!

Kayıt Ol!

php sorgu, if, eregi yapısı

gunay121

0
İyinet Üyesi
Katılım
10 Ağustos 2013
Mesajlar
2
Reaction score
0
Merhabalar,

Php ile bir form'a girilen bilgileri javascript ile farklı bir dosyaya post ediyorum. Post etme işlemini form'daki herhangi bir verinin değişmesi ile tekrardan çalıştırıyorum ve anlık olarak seçilen/girilen verilere göre diğer dosyada sorgu işlemlerini gerçekleştiriyorum. Yaptığım işin konusu lojistik/nakliye ile alakalıdır. Açılan yük kaydının fiyatı, daha önceden belirlenen faturalandırma parametrelerine göre hesaplanır. bu parametreler biraz karışık ve öncelik konuları mevcut. Ben bir çok sorgu ve if fonksiyonu kullanarak yaptım ancak süreç çok uzun, bu nedenle mi yoksa javascript'den gelen anlık post nedeni ile mi bilemiyorum biraz yavaşlama mevcut. (anlık değişimden sonraki ekrana yazdırdığım alandan anlıyorum) hızını test etmeyi bilmiyorum. kod aşağıdadır kod başlıklarında açıklamaları yazdım. Bu konuda bu işlemi kısaltacak farklı bir yol, mantık var mıdır? var ise nasıl bir yol izlemeliyim, yok ise bu kodların yavaş çalışmasının nedeni nedir?

Düzenleme:

Yazdığım kodu detaylı bir test yaptığımda, aynı teslim noktasına farklı yükleme noktası alanları olduğunda tüm yükleme noktalarını listeliyor ve son kayıtı alıyor. Aşağıdaki kodu kullandım.


Yapmak istediğim:
Listelenen kayıtlar arsından "$ynadresno" alanında "$yuklemeadresno" var ise "$ftid = $fatparametreid;" değişkene atamalı
elseif ile yoksa dieğr kontrolleri yapıyorum. Ancak eregi fonksiyonu birebir eşitlemiyor, içinde geçen tümünü alıyor.

Anlayamadım bu durumu sanırım mantığını anlayamadım.

PHP:
$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi1' and $agirlik BETWEEN min and max"); while($parametresonuc = mysql_fetch_array($parametre)) { 

$fatparametreid = $parametresonuc[id]; 
$ynadresno = $parametresonuc[yuklemenokta];

if(eregi($ynadresno, "$yuklemeadresno")) { 

$ftid = $fatparametreid; 

}elseif(eregi($ynadresno, "$yuklemeilce")) { 

$ftid = $fatparametreid; 

}elseif(eregi($ynadresno, "$yuklemeilb")) { 

$ftid = $fatparametreid; 

}else { 

}
}

Kodun tamamı(açıklamalar mevcut):

PHP:
<?php


// post ile verileri alıyorum.


$musteri = $_POST[musteri2];
$varisnokta1 = $_POST[varisnokta2];
$yuklemenokta = $_POST[yuklemenokta2];
$tarih = $_POST[tarih2];
$urungrubu = $_POST[urungrubu2];
$agirlik = $_POST[agirlik2];
$paletmiktari = $_POST[paletmiktari2];
$tasimasekli = $_POST[tasimasekli2];


// tüm verilerin geldiğini sorgulatıyorum.
if($musteri && $tasimasekli && $varisnokta1 && $tarih && $urungrubu && $agirlik && $paletmiktari && $yuklemenokta){


// varış noktasının il,ilce,adresno,zincirturu bilgisini alıyorum. 
$adresil = mysql_query("select * from adresler where id='$varisnokta1'");
$adressonuc = mysql_fetch_array($adresil);


$varisnokta = $adressonuc[adresno];
$teslimil = $adressonuc[noktail];
$teslimilce = $adressonuc[noktailce];
$zincirturu = $adressonuc[zincirturu];


$teslimilb = "il".$teslimil;
$zincirturub = "zn".$zincirturu;


// aynı şekilde yükleme noktasının bilgilerini alıyorum.


$adresil1 = mysql_query("select * from adresler where id='$yuklemenokta'");
$adressonuc1 = mysql_fetch_array($adresil1);


$yuklemeadresno = $adressonuc1[adresno];
$yuklemeil = $adressonuc1[noktail];
$yuklemeilce = $adressonuc1[noktailce];




$yuklemeilb = "il".$yuklemeil;




// burada gelen bilgileri faturaparametre tablosundan sabit bilgileri filtreliyorum, 
//ancak teslimnoktası alanı için adresler tablosundan gelen adresno önceliği mevcut sabit değerler ile birlikte bunu sorguluyorum ve listeliyorum
$tes=mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$varisnokta'");
while($snc=mysql_fetch_assoc($tes)) {




$teslimnoktasi1 = $snc[teslimnoktasi];
$fturu1 = $snc[fiyatturu];


// gelen listeden fiyatturu alanı kg olanların agırlık bilgisini faturaparametre tablosundaki min ve max aralığında olan satırları listeliyorum
// sonrasında if eregi ile gelen listeden yükleme noktası önceliklerini listeliyorum. 
//uygun kriterler arasından benim fiyatlandırma parametrem; önce yükleme adresine göre, bu adrese fiyat verilmemişse seçilen adresin ilçesine, ilçeyede verilmemişse iline bakıyorum.
//sonrasında uygun parametremi bulduğum için bulunan satırın id'sini sabit bir değişkene atıyorum.
//aynı işlemleri fiyatturu kg değilse palet olduğundan else den sonra sorguda paletmiktarı alanını min ve max arasında sorgulatıp devam ediyorum.
if($fturu1 == 'kg')
{
$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi1' and $agirlik BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {


$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];




if(eregi($ynadresno, "$yuklemeadresno")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilce")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilb")) {


$ftid = $fatparametreid;


}else {




}
}


}else{


// burdan sonrası fiyat türü palet ise..


$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi1' and $paletmiktari BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {




$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];




if(eregi($ynadresno, "$yuklemeadresno")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilce")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilb")) {


$ftid = $fatparametreid;


}else {




}


}
}
}


// teslim noktası önceliğimiz seçilen teslim noktasının  (posttan gelen) adresno alanı olduğu için işlemleri yaptık.
//ancak bu teslim noktasına fiyat belirlenmemişse posttan gelen teslim noktasının 2. önceliğimiz olan zincirturu alanını eşitliyoruz ve yukarıdaki işlemlerin aynısını gerçekleştiriyoruz.




if(!$ftid) {


$tes=mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$zincirturub'");
while($snc=mysql_fetch_assoc($tes)) {




$teslimnoktasi2 = $snc[teslimnoktasi];
$fturu2 = $snc[fiyatturu];


if($fturu2 == 'kg')
{
$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi2' and $agirlik BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {


$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];




if(eregi($ynadresno, "$yuklemeadresno")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilce")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilb")) {


$ftid = $fatparametreid;


}else {




}
}
}else{


$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi2' and $paletmiktari BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {




$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];




if(eregi($ynadresno, "$yuklemeadresno")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilce")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilb")) {


$ftid = $fatparametreid;


}else {




}


}
}
}


}




// teslim noktasının 3. önceliği ilçe alanı ile işlemleri yaptık.


if(!$ftid) {


$tes=mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimilce'");
while($snc=mysql_fetch_assoc($tes)) {




$teslimnoktasi3 = $snc[teslimnoktasi];
$fturu3 = $snc[fiyatturu];


if($fturu3 == 'kg')
{
$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi3' and $agirlik BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {


$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];




if(eregi($ynadresno, "$yuklemeadresno")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilce")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilb")) {


$ftid = $fatparametreid;


}else {




}
}
}else{


$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi3' and $paletmiktari BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {




$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];




if(eregi($ynadresno, "$yuklemeadresno")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilce")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilb")) {


$ftid = $fatparametreid;


}else {




}


}
}
}


}


// son olarak diğerlerinden sonuç alamadıysak teslim noktasının iline göre işlemleri yaptık.


if(!$ftid) {


$tes=mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimilb'");
while($snc=mysql_fetch_assoc($tes)) {




$teslimnoktasi4 = $snc[teslimnoktasi];
$fturu4 = $snc[fiyatturu];


if($fturu4 == 'kg')
{
$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi4' and $agirlik BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {


$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];




if(eregi($ynadresno, "$yuklemeadresno")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilce")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilb")) {


$ftid = $fatparametreid;


}else {




}
}
}else{


$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi4' and $paletmiktari BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {




$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];




if(eregi($ynadresno, "$yuklemeadresno")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilce")) {


$ftid = $fatparametreid;


}elseif(eregi($ynadresno, "$yuklemeilb")) {


$ftid = $fatparametreid;


}else {




}


}
}
}


}


// sonuç olarak seçilen kriterlere göre parametre var ise idsini elde ettik.


//aşağıdaki sorgu ile basit bir kaç işlem yaptırıyorum. 


//uygun olan parametrenin fiyatturu kg ise, 
//sonrasında agırlık birimi minbirimden düşük ise minbirim eşitle, değilse posttan gelen agırlığı al
//ve buna göre işlem yaptırıyorum. 




//uygun olan parametrenin fiyatturu palet ise,
//palet miktarını fiyat ile işlem yaptırıyorum, mintl den düşük ise mintl alanını değilse hesap sonucunu alıyorum.


$yukfiyati = mysql_query("select * from faturaparametre where id='$ftid'");
$fiyatsonuc = mysql_fetch_assoc($yukfiyati); 


    $fiyatturu = $fiyatsonuc[fiyatturu];
    $fiyati = $fiyatsonuc[fiyati];
    $minbirim = $fiyatsonuc[minkg];
    $mintl       = $fiyatsonuc[mintl];
    
    


if($yukfiyati && is_resource($yukfiyati)) { 
 


 
if ($fiyatturu == 'kg')


    { 
    
    if($agirlik < $minbirim){
$agirlikson = $minbirim;
}else{ 
$agirlikson = $agirlik; 
}
    $hesapla = $fiyati*$agirlikson;
    
    if($agirlik<$minbirim){
       
        echo'<div class="alert alert-success"><strong>Yük fiyatı :</strong> '.$hesapla.' TL  (Minimum Ağırlık Tutarıdır) </div>
';
}else {


    echo'<div class="alert alert-success"><strong>Yük fiyatı :</strong> '.$hesapla.' TL </div>
        
    ';


    }


    }    
    elseif ($fiyatturu == 'palet')
    {
    $hesapla1 = $fiyati*$paletmiktari;
    
    if($hesapla1 < $mintl){
        echo'<div class="alert alert-success"><strong>Yük fiyatı :</strong> '.$mintl.' TL (Minimum TL Tutarıdır) </div>
        
        ';
}else{
    echo'<div class="alert alert-success"><strong>Yük fiyatı :</strong> '.$hesapla1.' TL </div>
    
    ';


    }
    }
    else
    {
    echo '<div class="alert alert-error"><strong>Uygun parametre bulunamadı!</strong>Lütfen yükü yada parametreleri kontrol ediniz. </div>
        
    ';
    }
  }else {
          echo '<div class="alert alert-error"><strong>Üzgünüm teknik bir hata oluştu, destek ekibine ulaşınız!</strong></div>
        
          
          ';


} 
}else{ 
echo '<div class="alert alert-error"><strong>Fiyatlandırma kriterlerinin tümü seçilmedi!</strong></div>
    


';
}


?>

Arkadaşlar tekrardan merhaba,

eğitim almadan, kendi kendime öğrenmemin yanlış öğrenmenin cezasını çekiyorum :) sanırım çok büyük bir hata yapmaktayım. 7 - 8 farklı kritere göre filtreleyip bir sonuç bulmak için toplam "84" (sevkendört) sorgu kullandım. Eminim bunun farklı bir yolu, ya da benim izlediğim yanlış yolu (veritabanı tasarımı, sorgulama, işlemler vs.) düzeltecek bir şey vardır. Yardım ve ilginizi beklemekteyim. İşlem sayfamın tamamı aşağıdadır. Açıklamalar mevcuttur.

PHP:
<?php


// post ile verileri alıyorum.


$musteri = $_POST[musteri2];
$varisnokta1 = $_POST[varisnokta2];
$yuklemenokta = $_POST[yuklemenokta2];
$tarih = $_POST[tarih2];
$urungrubu = $_POST[urungrubu2];
$agirlik = $_POST[agirlik2];
$paletmiktari = $_POST[paletmiktari2];
$tasimasekli = $_POST[tasimasekli2];


// tüm verilerin geldiğini sorgulatıyorum.
if($musteri && $tasimasekli && $varisnokta1 && $tarih && $urungrubu && $agirlik && $paletmiktari && $yuklemenokta){

 
// varış noktasının il,ilce,adresno,zincirturu bilgisini alıyorum.  
$adresil = mysql_query("select * from adresler where id='$varisnokta1'");
$adressonuc = mysql_fetch_array($adresil);

$varisnokta = $adressonuc[adresno];
$teslimil = $adressonuc[noktail];
$teslimilce = $adressonuc[noktailce];
$zincirturu = $adressonuc[zincirturu];

$teslimilb = "il".$teslimil;
$zincirturub = "zn".$zincirturu;

// aynı şekilde yükleme noktasının bilgilerini alıyorum.

$adresil1 = mysql_query("select * from adresler where id='$yuklemenokta'");
$adressonuc1 = mysql_fetch_array($adresil1);

$yuklemeadresno = $adressonuc1[adresno];
$yuklemeil = $adressonuc1[noktail];
$yuklemeilce = $adressonuc1[noktailce];


$yuklemeilb = "il".$yuklemeil;



// burada gelen bilgileri faturaparametre tablosundan sabit bilgileri filtreliyorum, 
//ancak teslimnoktası alanı için adresler tablosundan gelen adresno önceliği mevcut sabit değerler ile birlikte bunu sorguluyorum ve listeliyorum

$tes=mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$varisnokta'");
while($snc=mysql_fetch_assoc($tes)) {


$teslimnoktasi1 = $snc[teslimnoktasi];
$fturu1 = $snc[fiyatturu];


// gelen listeden fiyatturu alanı kg olanların agırlık bilgisini faturaparametre tablosundaki min ve max aralığında olan satırları listeliyorum
// sonrasında if eregi ile gelen listeden yükleme noktası önceliklerini listeliyorum. 
//uygun kriterler arasından benim fiyatlandırma parametrem; önce yükleme adresine göre, bu adrese fiyat verilmemişse seçilen adresin ilçesine, ilçeyede verilmemişse iline bakıyorum.
//sonrasında uygun parametremi bulduğum için bulunan satırın id'sini sabit bir değişkene atıyorum.
//aynı işlemleri fiyatturu kg değilse palet olduğundan else den sonra sorguda paletmiktarı alanını min ve max arasında sorgulatıp devam ediyorum.

if($fturu1 == 'kg')
{
$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi1' and $agirlik BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {

$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];



// gelen listeden yuklemeadresno eşit olan var ise buna göre sorgulayıp, $ftid değişkenini son sorgudan gelen id'yi atıyorum. 
//sonucum bu olmuş oluyor.

if($yuklemeadresno == $ynadresno ) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeadresno' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;

}elseif($yuklemeilce == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilce' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}elseif($yuklemeilb == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilb' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}else {

}




}
}else{

// burdan sonrası fiyat türü palet ise..


$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi1' and $paletmiktari BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {


$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];


if($yuklemeadresno == $ynadresno ) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeadresno' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;

}elseif($yuklemeilce == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilce' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}elseif($yuklemeilb == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilb' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}else {

}

}
}
}


// teslim noktası önceliğimiz seçilen teslim noktasının  (posttan gelen) adresno alanı olduğu için işlemleri yaptık.
//ancak bu teslim noktasına fiyat belirlenmemişse posttan gelen teslim noktasının 2. önceliğimiz olan zincirturu alanını eşitliyoruz ve yukarıdaki işlemlerin aynısını gerçekleştiriyoruz.




if(!$ftid) {

$tes=mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$zincirturub'");
while($snc=mysql_fetch_assoc($tes)) {


$teslimnoktasi2 = $snc[teslimnoktasi];
$fturu2 = $snc[fiyatturu];

if($fturu2 == 'kg')
{
$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi2' and $agirlik BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {

$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];


if($yuklemeadresno == $ynadresno ) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeadresno' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;

}elseif($yuklemeilce == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilce' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}elseif($yuklemeilb == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilb' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}else {

}
}
}else{

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi2' and $paletmiktari BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {


$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];


if($yuklemeadresno == $ynadresno ) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeadresno' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;

}elseif($yuklemeilce == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilce' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}elseif($yuklemeilb == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilb' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}else {

}

}
}
}

}


// teslim noktasının 3. önceliği ilçe alanı ile işlemleri yaptık.



if(!$ftid) {

$tes=mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimilce'");
while($snc=mysql_fetch_assoc($tes)) {


$teslimnoktasi3 = $snc[teslimnoktasi];
$fturu3 = $snc[fiyatturu];

if($fturu3 == 'kg')
{
$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi3' and $agirlik BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {

$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];


if($yuklemeadresno == $ynadresno ) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeadresno' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;

}elseif($yuklemeilce == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilce' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}elseif($yuklemeilb == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilb' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}else {

}
}
}else{

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi3' and $paletmiktari BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {


$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];


if($yuklemeadresno == $ynadresno ) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeadresno' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;

}elseif($yuklemeilce == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilce' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}elseif($yuklemeilb == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilb' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}else {

}

}
}
}

}



// son olarak diğerlerinden sonuç alamadıysak teslim noktasının iline göre işlemleri yaptık.


if(!$ftid) {

$tes=mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimilb'");
while($snc=mysql_fetch_assoc($tes)) {


$teslimnoktasi4 = $snc[teslimnoktasi];
$fturu4 = $snc[fiyatturu];

if($fturu4 == 'kg')
{
$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi4' and $agirlik BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {

$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];


if($yuklemeadresno == $ynadresno ) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeadresno' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;

}elseif($yuklemeilce == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilce' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}elseif($yuklemeilb == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilb' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}else {

}
}
}else{

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and teslimnoktasi='$teslimnoktasi4' and $paletmiktari BETWEEN min and max");
while($parametresonuc = mysql_fetch_array($parametre)) {


$fatparametreid = $parametresonuc[id];
$ynadresno = $parametresonuc[yuklemenokta];

if($yuklemeadresno == $ynadresno ) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeadresno' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;

}elseif($yuklemeilce == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilce' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}elseif($yuklemeilb == $ynadresno) {

$parametre = mysql_query("select * from faturaparametre where musteri='$musteri' and 
urungrubu='$urungrubu' and tasimasekli='$tasimasekli' and donem<= '$tarih' and donem2>= '$tarih' and 
teslimnoktasi='$teslimnoktasi4' and yuklemenokta='$yuklemeilb' and $agirlik BETWEEN min and max");
$parametresonuc = mysql_fetch_array($parametre);

$fatparametreid = $parametresonuc['id'];
$ftid = $fatparametreid;


}else {

}

}
}
}

}



// sonuç olarak seçilen kriterlere göre parametre var ise idsini elde ettik.


//aşağıdaki sorgu ile basit bir kaç işlem yaptırıyorum. 


//uygun olan parametrenin fiyatturu kg ise, 
//sonrasında agırlık birimi minbirimden düşük ise minbirim eşitle, değilse posttan gelen agırlığı al
//ve buna göre işlem yaptırıyorum. 




//uygun olan parametrenin fiyatturu palet ise,
//palet miktarını fiyat ile işlem yaptırıyorum, mintl den düşük ise mintl alanını değilse hesap sonucunu alıyorum.




$yukfiyati = mysql_query("select * from faturaparametre where id='$ftid'");
$fiyatsonuc = mysql_fetch_assoc($yukfiyati); 

    $fiyatturu = $fiyatsonuc[fiyatturu];
    $fiyati = $fiyatsonuc[fiyati];
    $minbirim = $fiyatsonuc[minkg];
    $mintl       = $fiyatsonuc[mintl];
	
	

if($yukfiyati && is_resource($yukfiyati)) { 
 


if ($fiyatturu == 'kg'){ 

if($agirlik < $minbirim){
$agirlikson = $minbirim;
}else{ 
$agirlikson = $agirlik; 
}

    $hesapla = $fiyati*$agirlikson;
	
    if($hesapla < $mintl){
	
echo $mintl;
}else{
echo $hesapla;

	}

    }elseif ($fiyatturu == 'palet'){
	
    $hesapla1 = $fiyati*$paletmiktari;
	
    if($hesapla1 < $mintl){
echo $mintl;
}else{
echo $hesapla1;
}
}
else
{
 echo '<div class="alert alert-error"><strong>Uygun parametre bulunamadı!</strong>Lütfen yükü yada parametreleri kontrol ediniz. </div>';
 }
  }else {
          echo '<div class="alert alert-error"><strong>Üzgünüm teknik bir hata oluştu, destek ekibine ulaşınız!</strong></div>';

} 
}else{ 
echo '<div class="alert alert-error"><strong>Fiyatlandırma kriterlerinin tümü seçilmedi!</strong></div>';
}

?>
 

Türkiye’nin ilk webmaster forum sitesi iyinet.com'da forum üyeleri tarafından yapılan tüm paylaşımlardan; Türk Ceza Kanunu’nun 20. Maddesinin, 5651 Sayılı Kanununun 4. maddesinin 2. fıkrasına göre, paylaşım yapan üyeler sorumludur.

Backlink ve Tanıtım Yazısı için iletişime geçmek için Skype Adresimiz: .cid.1580508955483fe5

Üst