Merhaba,
Önemli bir noktaya açıklık getireyim :)  Umarım okurken canınız sıkılmaz.

($x != 9) or ($x != 0)

Burada iki tane değerin veya (or) işlemine tabi tutulduğunu görüyoruz. Lise
1. sınıfta  ilk matematik konusu olan mantık ışığında şöyle bir doğruluk
tablosu çıkarabiliriz.

($x != 9)  p olsun, ($x != 0) q olsun:

p v q
-----------
0 v 0  0
1 v 0  1
0 v 1  1
1 v 1  1

Yani, p ve q'nun aynı anda sıfır (false)  olması durumunda 0(false) elde
edebiliyoruz. Geri kalan bütün durumlarda doğruluk tablosu 1 (true) veriyor.

p değerimiz "x'in 9'a eşit olmaması",
q değerimiz "x'in 0'a eşit olmaması"

olduğuna göre biz bu durumu sağlayan bir x değeri bulamayız. Çünkü x değeri
aynı anda hem 9 hem de 0 olamaz.

Ya da işi biraz daha açayım:

p' veya q'     (yani p'nin değili veya q'nun değili)

de morgan kurallarına göre şöyle yazılabilir:

p ve q

Bizim denklemimize bu kuralı uygularsak:

(x==0) and (x==9)   ile karşılaşırız. Bu da çelişki demektir. Yani x hem 0
hem 9 olursa istenen değer ancak sağlanabilir.


Yani kodlama'da değil, işin mantığındaki bir hata bu sonuca neden oluyor.



09 Mart 2009 Pazartesi 13:45 tarihinde Bedreddin SAHBAZ <[email protected]
> yazdı:

> Merhaba Arkadaşlar,
>
> Bir saattir basit bir IF yapısına takıldım kaldım
>
> if ((mysql_num_rows($result)<1) or ($x != 9) or ($x != 0))
> {
> işlem-1
> }
> else
> {
> işlem-2
> }
>
> mysql'de sonuç boş geldi ise veya x 9'a eşit değilse veya x 0'a eşit
> değilse işlem-1'in yapılmasını istiyorum. Ancak x değeri 9 a eşit bir
> değişken girip sorguyu çağırdığımda işlem-2 değil yine de işlem-1
> yapılıyor. Nerede hata yapıyorum acaba? Bu arada sorguyu şu şekilde
> yaptığımda doğru çalışıyor;
>
> if ((mysql_num_rows($result)<1) or ($x != 9))
>
> Saygılarımla..
>
> _______________________________________________
> Linux-programlama mailing list
> [email protected]
> http://liste.linux.org.tr/mailman/listinfo/linux-programlama
>



-- 
Anıl Özselgin
_______________________________________________
Linux-programlama mailing list
[email protected]
http://liste.linux.org.tr/mailman/listinfo/linux-programlama

Cevap