lostyazilim
tr.link

PHP While row koşullandırma

6 Mesajlar 1.115 Okunma
lstbozum
tr.link

compost0x 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.
 

 

wmaraci
reklam

rmznkapar rmznkapar WM Aracı Kullanıcı
  • Ü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 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
 

 

srhtycl srhtycl IBM Ambassador Kullanıcı
  • Ü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";
}
}

?>


compost0x

kişi bu mesajı beğendi.

wmaraci
wmaraci

compost0x 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)
srhtycl Verdiğiniz bilgilere minnettarım. İstediiğim şekilde çalıştı. Elinize emeğinize sağlık çok detaylı bir şekilde anlatmışsınız. Arşivimde saklayacağım. Tekrardan teşekkür ederim.
srhtycl

kişi bu mesajı beğendi.

srhtycl srhtycl IBM Ambassador Kullanıcı
  • Ü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)

compost0x adlı üyeden alıntı

srhtycl Verdiğiniz bilgilere minnettarım. İstediiğim şekilde çalıştı. Elinize emeğinize sağlık çok detaylı bir şekilde anlatmışsınız. Arşivimde saklayacağım. Tekrardan teşekkür ederim.

Rica ederim ne demek
 

 

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