Profil detayı eklendi, herkes profillerine girip bir gözatsın! Sevdiğiniz üyelerin cevaplarını takip edin! Tüm güncellemeler

PHP Listeleme sorunu

Merhaba,

PHP'de listelemede herhangi bir sorunum yok. Tek sıkıntım şu; ürünlerin varyasyonlarına dair stok kodlarını kullanmaktayım. Ancak stok kodunun başında veya sonunda (STXXXXX)... yada (xx-xxxx) gibi işaretler olduğundan dolayı doğru şekilde eşleştirmemekte. Bunu nasıl çözebilirim?

1

Cevaplar (1)

İşlem devam ediyor, lütfen bekleyin..
Memduh A.
Doğru Cevap
@blokberg
2 hafta önce

Veritabanı yapısını (kolon özellikleri vs) bilmediğimiz için net bir şey söylemek zor ama sorgunuzda BINARY kullanarak deneyebilirsiniz.


SELECT * FROM stoklar WHERE BINARY stok_kod = ?

Cevapla @serkankuyu2 hafta önce
@blokberg, Aslında biliyoruz çünkü $_GET ile stok kodunu alıyorum yani;
$sk = $_GET["stokkodu"];
SELECT * FROM stoklar WHERE BINARY stok_kod = $stokkodu

gibi...
Denedim ama olmadı maalesef. Başında veya sonunda harf (STXXXX)ve işaret dili (xx-xxxx) olunca listelemiyor.
Cevapla @blokberg2 hafta önce
@serkankuyu, kolon yapısını ben bilmiyorum demek istedim.
Veritabanınızda stok kodu kolonu text mi, varchar mı, get ile gelen değeri doğru bir şekilde alabiliyor musunuz?
Başında veya sonunda (STXXXX) olması ne demek?
Sorunuza cevap bulunabilmesi için veritabanınızı ve kodunuzu paylaşırsanız belki daha net cevaplar verilebilir.

Örnek olarak get ile gelen değer şöyle ise :
$getDegeri = "(STKXXXXX)1231451246";
Ve veritabanındaki stok kodu kolonu string (text,varchar) ise,
Şu sorgu çalışır :
SELECT * FROM stoklar WHERE stok_kod = '$getDegeri'
Cevapla @serkankuyu2 hafta önce
stok kodları aşağıdaki örnekler gibi gelmektedir.
- N7050
- 001-123456
- 0180

şeklinde geliyor. Ürünün varyasyonlarını başka bir sayfada gösterdiğim için;

$getDegeri = $_GET["stokKodu"];
SELECT*FROM urunler INNER JOIN urun_varyasyon ON urunler.urunStokKodu = urun_varyasyon.stokKodu WHERE stokKodu = $getDegeri

Şeklinde oluyor. Ama başına harf geldiğin ve rakamların arasında (-) tire geldiğinde doğru listemiyor. Hatta hiç listemiyor
Cevapla @blokberg2 hafta önce
@serkankuyu, sorgunuz yazdığınız şekildeyse,
1. WHERE koşulu urun_varyasyon.stokKodu olmalı.
2. Yine WHERE koşulundaki get değerini tırnaklar içinde kullanmalısınız. Yani:
WHERE urun_varyasyon.stokKodu = '$getDegeri' veya syntax' ınıza göre WHERE urun_varyasyon.stokKodu = ' '.$getDegeri.' '

Aklınızda olsun, mysql' de string ifadeleri karşılaştırırken tırnak kullanın.
Cevapla @serkankuyu2 hafta önce
@blokberg, teşekkür ederim. Çözüldü. Çözüm aşağıdaki gibidir.

"2. Yine WHERE koşulundaki get değerini tırnaklar içinde kullanmalısınız. Yani:
WHERE urun_varyasyon.stokKodu = '$getDegeri' veya syntax' ınıza göre WHERE urun_varyasyon.stokKodu = ' '.$getDegeri.' '

Aklınızda olsun, mysql' de string ifadeleri karşılaştırırken tırnak kullanın."
İşlem devam ediyor, lütfen bekleyin..

Cevap yaz Sadece sorunun cevabını yazın