float alandan sorgu çekebilmek
float alandan sorgu çekebilmek
Merhabalar. Çok olmuyorumdur umarım ama bu site artık ne zaman sıkışsam yardım eden tek yer bana
Ben veritabanımda bazı alanları float olarak yaptım. Kayıt yaparken bir sıkıntı yaşamıyorum. Ama bir texte girdiğim sayılara (1,20 veya 2,50 gibi) göre sorgulama yaptığımda hiçbir sonuç dönmüyor. Halbuki text alanına direkt olarak alanda bulunan sayıyı örneğin 1.1 i giriyorum. php kodlarıyla daha zor olacağından ben sadece mysql sorgumu gönderiyorum. Direk veritabanından örneğin şu sql sorgusunu yaptığımda
SELECT id, lig, gun, tarih, bir, sifir, iki FROM iddaa WHERE bir>1;
bana sonuç dönüyor.Fakat şöyle bir sorgu yaptığımda
SELECT id, lig, gun, tarih, bir, sifir, iki FROM iddaa WHERE bir=1.1;
hiçbir sonuç dönmüyor. Halbuki ilgili 'bir' alanında 1.1 sayısı var.
Yardımcı olursanız sevinirim. Herkese iyi çalışmalar. (Alan tipi float - double olarak yapamadım o da ayrı bir konu ama şu an için önemli değil )
Ben veritabanımda bazı alanları float olarak yaptım. Kayıt yaparken bir sıkıntı yaşamıyorum. Ama bir texte girdiğim sayılara (1,20 veya 2,50 gibi) göre sorgulama yaptığımda hiçbir sonuç dönmüyor. Halbuki text alanına direkt olarak alanda bulunan sayıyı örneğin 1.1 i giriyorum. php kodlarıyla daha zor olacağından ben sadece mysql sorgumu gönderiyorum. Direk veritabanından örneğin şu sql sorgusunu yaptığımda
SELECT id, lig, gun, tarih, bir, sifir, iki FROM iddaa WHERE bir>1;
bana sonuç dönüyor.Fakat şöyle bir sorgu yaptığımda
SELECT id, lig, gun, tarih, bir, sifir, iki FROM iddaa WHERE bir=1.1;
hiçbir sonuç dönmüyor. Halbuki ilgili 'bir' alanında 1.1 sayısı var.
Yardımcı olursanız sevinirim. Herkese iyi çalışmalar. (Alan tipi float - double olarak yapamadım o da ayrı bir konu ama şu an için önemli değil )
Re: float alandan sorgu çekebilmek
Merhaba,
bir fieldında value olarak 1.1 e eşit veri varmı?
bir fieldında value olarak 1.1 e eşit veri varmı?
Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
- sabanakman
- Kıdemli Üye
- Mesajlar: 3077
- Kayıt: 17 Nis 2006 08:11
- Konum: Ah bi Antalya olaydı keşke (Ankara)
Re: float alandan sorgu çekebilmek
Alan değerini yuvarlayarak deneyin bir de "where Round(bir,1)=1.1" gibi...
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
_________________
Derin olan kuyu değil kısa olan iptir. - .
Re: float alandan sorgu çekebilmek
Selam;
konuyu yanlış anlamışım özür
büyük ihtimalle tabloda kayıtlı veriniz 1.1 değil, 1,1 olarak deneyin dicem ama onada gerek yok direk tabloya bakıp verinin ne şekilde kaydedilğini bence öğrenip ona göre davranın. veya sabanakman ın dediği gibi round ile yuvarlayıp aratın.
konuyu yanlış anlamışım özür
büyük ihtimalle tabloda kayıtlı veriniz 1.1 değil, 1,1 olarak deneyin dicem ama onada gerek yok direk tabloya bakıp verinin ne şekilde kaydedilğini bence öğrenip ona göre davranın. veya sabanakman ın dediği gibi round ile yuvarlayıp aratın.
Re: float alandan sorgu çekebilmek
evet tablomda 1.1 değeri var. arama alanında 1.1 de girdim 1,1 de ama olmadı. Peki roundu kullandığımda tam veriyi getirmeyecektir bana diye düşünüyorum. Yani 1.1 i yuvarladığında sonuçta başka bir değer gelecektir diye düşünüyorum. Yine de bir denicem.
Re: float alandan sorgu çekebilmek
bence önce select * from ile tüm kaydı alıp önce ekrana verin ki kayıt tam olarak nasıl girmiş onu görün ondan sonra işlem yapın
Re: float alandan sorgu çekebilmek
maalesef sorun da burada işte normal koşulsuz bir select yaptığımda satırlarımı getiriyor. Fakat 'bir' alanından mesela 2,20 olanları getir dediğimde hiçbir cevap dönmüyor.
select * from iddaa; yaptığımda sorun yok
ama
select * from iddaa WHERE 'bir'=2,20; (veya bir=2,20 veya bir=2.20 veya 'bir'='2,20' vs.)
yaptığımda ekran bomboş kalıyor
Bu arada round fonksiyonunu denedim o da işe yaramadı..
select * from iddaa; yaptığımda sorun yok
ama
select * from iddaa WHERE 'bir'=2,20; (veya bir=2,20 veya bir=2.20 veya 'bir'='2,20' vs.)
yaptığımda ekran bomboş kalıyor
Bu arada round fonksiyonunu denedim o da işe yaramadı..
Re: float alandan sorgu çekebilmek
tekrar selam,
ben iddaa sitemde alanları decimal (5,2) şeklinde tanıtmışım ve sorgumda aynen şu şekilde...
buradaki m1,m0 ve m2 alanları o maçların 1,0,2 değerlerini decimal (5,2) olarak tutuyor, 3,20 1,55 vs.vs. gibi.
ben iddaa sitemde alanları decimal (5,2) şeklinde tanıtmışım ve sorgumda aynen şu şekilde...
Kod: Tümünü seç
$mac=listevt("SELECT * from iddaa WHERE m1='".$alz[0][m1]."' AND m0='".$alz[0][m0]."' AND m2='".$alz[0][m2]."' AND iy<>'' $filt ORDER BY lig, tarih desc");
Re: float alandan sorgu çekebilmek
Alanlarımı decimal (5,2) olarak değiştirdim. Ama olmadı.
Sorgum da şöyle:
$sorgu = "SELECT id, lig, gun, tarih, bir, sifir, iki FROM iddaa WHERE bir='".$birisi[0][bir]."' ORDER BY id DESC";
Peki bu durumda benim kaydımda bir sıkıntı olabilirmi? Ben textten girilen değişkenleri şu şekilde kaydediyorum
$bir = str_replace(",",".",$_POST['bir']);
Sizce sorun burada olabilirmi? bunu kullanamamın sebebi de . yerine , kullanılabilmesiydi.
Sorgum da şöyle:
$sorgu = "SELECT id, lig, gun, tarih, bir, sifir, iki FROM iddaa WHERE bir='".$birisi[0][bir]."' ORDER BY id DESC";
Peki bu durumda benim kaydımda bir sıkıntı olabilirmi? Ben textten girilen değişkenleri şu şekilde kaydediyorum
$bir = str_replace(",",".",$_POST['bir']);
Sizce sorun burada olabilirmi? bunu kullanamamın sebebi de . yerine , kullanılabilmesiydi.
Re: float alandan sorgu çekebilmek
bende kayıtlar 3.10 1.80 3.75 vs.vs. şeklinde yani aynen sizin dediğiniz şekilde kaydetmişim bende, text ten gelen değişkende virgülü nokta yapmışım. Sizde başka bir sorun var sanırım, problemsiz çalışması lazım, veritabanına girip bakın kayıtlarınız ne şekilde diye ona göre davranın bence. Ben mysql, myisam tablo kullanıyorum.
Re: float alandan sorgu çekebilmek
Anladım. kaydımda bir sıkıntı yok bu durumda. Gerekirse sayfayı ve queryi yeniden yazcam. Çok teşekkür ederim. Kolay gelsin.
Re: float alandan sorgu çekebilmek
Oldu :9 nasıl oldu bilmiyorum ama oldu.. ilgilenen herkese çok teşekkür ederim. son yaptığım şey
sorgu textimi şu şekilde yazmaktı.
$birisi = str_replace(",",".",$_POST['bir']);
Ama ondan önce de birşeyler yaptım ama ne yaptım bilmiyorum
sorgu textimi şu şekilde yazmaktı.
$birisi = str_replace(",",".",$_POST['bir']);
Ama ondan önce de birşeyler yaptım ama ne yaptım bilmiyorum