lostyazilim

Seçeneğe Göre Veri Listeleme

10 Mesajlar 928 Okunma
lstbozum
wmaraci reklam

mrscode mrscode Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2017
  • Yaş/Cinsiyet 32 / K
  • Meslek UI Designer
  • Konum Bursa
  • Ad Soyad S** Ö**
  • Mesajlar 80
  • Beğeniler 37 / 34
  • Ticaret 0, (%0)
Merhaba arkadaşlar forumdaki ilk sorumu soruyorum. Bir projemizde ürünler sayfası mevcut ve bu ürünler bir kaç seçenek ile daraltılmak isteniyor. Yani marka, renk, derece olarak seçenekler mevcut. Örnek olarak marka seçtiğimde o markanın ürününü gösteriyor. Fakat Marka ile birlikte renk seçtiğimde sonuçlar karman çorman çıkıyor. Bunu nasıl düzeltebilirim. Şimdiden teşekkürler.

Kodlar şu şekilde;

if(isset($_GET['dtara'])){
$asql=$db->prepare("SELECT * FROM urunler
WHERE (urun_marka=:marka)
OR (urun_renk=:renk)
OR (urun_derece=:derece)");
$asql->execute(array(
'marka'=>$_GET['urun_marka'],
'renk'=>$_GET['urun_renk'],
'derece'=>$_GET['urun_derece']));
//eğer seçenek seçilmişse üstteki kodu kullanıp listeliyor
} else {
//eğer seçilmemişse alttaki kodu kullanıyor ve tümünü gösteriyor.
$asql=$db->prepare('select * from urunler');
$asql->execute();
}
while ($acek=$asql->fetch(PDO::FETCH_ASSOC)) {
?>



dump3cz
 

 

wmaraci
reklam

dump3cz dump3cz Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.05.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Yazılım
  • Konum Bilecik
  • Ad Soyad O** Ç**
  • Mesajlar 1750
  • Beğeniler 169 / 326
  • Ticaret 3, (%67)
Kendine göre düzenle(bendeki arama sayfası gibi birşey değer yoksa eklemez eğer varsa ekler):

$sqlParam=array();
if ($SearchTitle)
{
$SearchText=trim($SearchTitle);
$sqlAdd=" WHERE (mc_account.Title LIKE ? OR mc_account.Gsm LIKE ?)";
array_push($sqlParam,'%'.$SearchTitle.'%','%'.$SearchTitle.'%');
}

if ($sqlAdd && $StockName) {$sqlAdd.=' AND (';} else if ($StockName) {$sqlAdd.=' WHERE (';}
if ($StockName) {
$sqlAdd.=" mc_stock.StockName = ? )";
array_push($sqlParam,$StockName);
}

if ($sqlAdd && $sFinishDate) {$sqlAdd.=' AND (';} else if ($sFinishDate) {$sqlAdd.=' WHERE (';}
if ($sFinishDate) {
$sqlAdd.=" mc_member.FinishDate <= ? )";
array_push($sqlParam,$sFinishDate);
}

$qlist = $con->prepare("SELECT * FROM mc_account INNER JOIN mc_member ON (mc_account.AccountId = mc_member.AccountId) INNER JOIN mc_stock ON (mc_member.ServiceId = mc_stock.StockId) ".$sqlAdd);
$qlist->execute($sqlParam);




foreach( $qlist as $row ){
?>







}
?>
mrscode

kişi bu mesajı beğendi.

mrscode mrscode Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2017
  • Yaş/Cinsiyet 32 / K
  • Meslek UI Designer
  • Konum Bursa
  • Ad Soyad S** Ö**
  • Mesajlar 80
  • Beğeniler 37 / 34
  • Ticaret 0, (%0)
dump3cz öncelikle böyle zorla cevap ister gibi çağırdım kusuruma bakma :) ayrıca tam anlamadım ama bir deneyeyim teşekkürler.
 

 

cetvel cetvel WM Aracı Kullanıcı
  • Üyelik 22.09.2015
  • Yaş/Cinsiyet 35 / E
  • Meslek yazılım
  • Konum İstanbul Avrupa
  • Ad Soyad U** K**
  • Mesajlar 312
  • Beğeniler 110 / 101
  • Ticaret 0, (%0)
multple secenek oldugunda and ile yapmalisin bence swtich case olustur query i string olarak insaa et en son execute et
 

 

phpanaliz.com
wmaraci
wmaraci

mrscode mrscode Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2017
  • Yaş/Cinsiyet 32 / K
  • Meslek UI Designer
  • Konum Bursa
  • Ad Soyad S** Ö**
  • Mesajlar 80
  • Beğeniler 37 / 34
  • Ticaret 0, (%0)
@cetvel teşekkür ederim fakat bir örnek verebilir misin acaba çok iyi değilim php konusunda çünkü :/
 

 

dump3cz dump3cz Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.05.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Yazılım
  • Konum Bilecik
  • Ad Soyad O** Ç**
  • Mesajlar 1750
  • Beğeniler 169 / 326
  • Ticaret 3, (%67)

mrscode adlı üyeden alıntı

dump3cz öncelikle böyle zorla cevap ister gibi çağırdım kusuruma bakma :) ayrıca tam anlamadım ama bir deneyeyim teşekkürler.


filtreleme sistemi. sadece sql komutunu değiştireceksiniz. bir yerde eğer urun_derece varsa urun_derece'nin sql komutunu yazıp çeker.
 

 

mrscode mrscode Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2017
  • Yaş/Cinsiyet 32 / K
  • Meslek UI Designer
  • Konum Bursa
  • Ad Soyad S** Ö**
  • Mesajlar 80
  • Beğeniler 37 / 34
  • Ticaret 0, (%0)
Bu tarz bir kullanımla bir sitemizde yapmıştık iki dil kullanımını. Umarım işine yarar. dump3cz

Fonksiyon

function __($langCode){
global $lang;
if(isset($lang[strtolower($langCode)]))
return $lang[strtolower($langCode)];
return $langCode;
}


Ayar Dosyası

$config['default_language'] = 'en';

Dil Dosyası


$lang['Anasayfa'] = 'Homepage';
$lang['kullanıcı adı'] = 'Username';
$lang['bos_mesaj'] = 'Somethings wrong.';



Kullanım
-> Homepage Yazar
 

 

mrscode mrscode Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2017
  • Yaş/Cinsiyet 32 / K
  • Meslek UI Designer
  • Konum Bursa
  • Ad Soyad S** Ö**
  • Mesajlar 80
  • Beğeniler 37 / 34
  • Ticaret 0, (%0)
Kodu da çalıştıramadım neyse araştırmaya devam edeyim :)
 

 

dump3cz dump3cz Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.05.2017
  • Yaş/Cinsiyet 25 / E
  • Meslek Yazılım
  • Konum Bilecik
  • Ad Soyad O** Ç**
  • Mesajlar 1750
  • Beğeniler 169 / 326
  • Ticaret 3, (%67)
mrscode çalışıyor ama tam istediğim gibi olmadı. İşlem şu $lang['menuHome'] = 'Ana Sayfa'; var ise {$menuHome} yazdığımda değeri gelsin.
 

 

mrscode mrscode Üyeliği Durdurulmuş Banlı Kullanıcı
  • Üyelik 01.11.2017
  • Yaş/Cinsiyet 32 / K
  • Meslek UI Designer
  • Konum Bursa
  • Ad Soyad S** Ö**
  • Mesajlar 80
  • Beğeniler 37 / 34
  • Ticaret 0, (%0)
dump3cz o kadar çözüm üretemiyorum bildiğim kadarını paylaştım maalesef :)
 

 

wmaraci
Konuyu toplam 7 kişi okuyor. (0 kullanıcı ve 7 misafir)
Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al