$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";
}
}
?>