compost0x
Üyeliği Durdurulmuş
Banlı Kullanıcı
-
Üyelik
26.05.2018
-
Yaş/Cinsiyet
30 / E
-
Meslek
Öğrenci
-
Konum
Muğla
-
Ad Soyad
A** Y**
-
Mesajlar
99
-
Beğeniler
23 / 19
-
Ticaret
2, (%50)
Arkadaşlar merhaba,
Bir sql sorgum mevcut
$tsql1 = ("SELECT xx FROM TABLO");
$getResults1 = $db->prepare( $tsql1);
$getResults1->execute();
$results1 = $getResults1->fetchAll(PDO::FETCH_BOTH);
Bu çektiğim X kolonunu aşağıda kendi yapamadığım şekilde çıktısını alabilmek istiyorum. Değer sıfırdan büyük ise değeri yazacak, değilse direk sıfır yazıcak.
$i = 0;
while($row=$tsql1->fetch(PDO::FETCH_ASSOC)) {
if($row>$i) {
echo $row['xx'] ;
} else {
echo "0";
}
?>
Bunun ile alakalı bir kaynak yada yol gösterici fikirlerinize ihtiyacım var. Şimdiden teşekkür ederim.
-
Üyelik
22.06.2017
-
Yaş/Cinsiyet
26 / E
-
Meslek
Öğrenci
-
Konum
Kocaeli
-
Ad Soyad
R** K**
-
Mesajlar
106
-
Beğeniler
23 / 19
-
Ticaret
0, (%0)
$tsql1->fetch(PDO::FETCH_ASSOC) şu kısım? bide tam olarak ne yapmaya çalıştığınızı anlamadım.
compost0x
Üyeliği Durdurulmuş
Banlı Kullanıcı
-
Üyelik
26.05.2018
-
Yaş/Cinsiyet
30 / E
-
Meslek
Öğrenci
-
Konum
Muğla
-
Ad Soyad
A** Y**
-
Mesajlar
99
-
Beğeniler
23 / 19
-
Ticaret
2, (%50)
Kolonda bir rakam mevcut. Rakam 0dan büyük ise yazdırmak istiyorum, değilse 0 yazdırmasını istiyorum
-
Üyelik
13.04.2013
-
Yaş/Cinsiyet
28 / E
-
Meslek
Software Engineer
-
Konum
İstanbul Anadolu
-
Ad Soyad
S** Y**
-
Mesajlar
501
-
Beğeniler
86 / 124
-
Ticaret
12, (%100)
SQL sorgusunun kendisinde kolonun değerini ayarlayabilirsiniz.
$tsql1 = ("SELECT column1, column2, IF(column3 < 0,0,column3) AS column3 FROM TABLO");
$getResults1 = $db->prepare( $tsql1);
$getResults1->execute();
$results1 = $getResults1->fetchAll(PDO::FETCH_BOTH);
Tablonun tüm sütunlarını select sorgusuna yazın. Hangi sütunu 0 veya sıfırdan küçükse sıfır olarak belirlemek istiyorsanız IF koşuluna bağlayın.
SELECT içerisinde if kullanımı şu şekilde;
IF(parametre1,parametre2,parametre3)
parametre1 => Koşuldur => (column3 < 0) (column3 sütunundaki değer 0'dan küçükse)
parametre2 => Koşul tutuyorsa basılacak değerdir = 0 (column3 sütunundaki değer 0'dan küçük olduğu zaman 0 olarak döner)
parametre3 => Koşul tutmuyorsa basılacak değerdir => column3 sütunun kendi değeri (column3 sütunundaki değer 0'a eşit veya 0'den büyük olduğu zamanlarda column3'ün kendi değeri olarak döner)
Gözüme takılan ikinci bir yanlış kullanım şu. Vermiş olduğunuz ilk kod bloğunda zaten veritabanından veriyi çekmiş oluyorsunuz. Bunun üstüne bir daha gidip de ikinci kod bloğunda yazmış olduğunuz
$row=$tsql1->fetch(PDO::FETCH_ASSOC)
Kısmına gerek olmamış oluyor. Kodu daha düzgün hale getirecek olursak
$tsql1 = ("SELECT column1, column2, IF(column3 < 0,0,column3) AS column3 FROM TABLO");
$getResults1 = $db->prepare( $tsql1);
$getResults1->execute();
$results1 = $getResults1->fetchAll(PDO::FETCH_BOTH);
?>
foreach ($results1 as $row) {
if($row['column3'] < 0) {
echo "0 }else {
echo "x>=0";
}
}
?>
1 kişi bu mesajı beğendi.