v2.5.2
Giriş yap

veritabanında boş değer var ise yer değiştirmek yardım

konya
431 defa görüntülendi

merhabalar veritabanımda 100 lerce veriyi yanlış eklemişim şöyle ki

örnek olarak isimler veritabanı olsun

bu tabloda 2 ve 4 id li kısımlarda puan yok yaş kısmındaki değerler ise puanları

yani puan boş yaş dolu ise yaşı puan kısmına yazdırıp yaş kısmına - (çizik eklesin)

id isim    yaş  puan
1  hakan   25   250
2  murat   300
3  arif    24   600
4  kemal   850 

yani düzeltmek istediği şekil

id isim    yaş  puan
1  hakan   25   250
2  murat   -    300
3  arif    24   600
4  kemal   -    850 

nasıl bir sorgu ile hepsini düzeltebilirim

Cevap yaz
Cevaplar (5)
abdullahx
1052 gün önce
$query = $db->query("SELECT id, yas, puan FROM table")->fetchAll(PDO::FETCH_ASSOC);
foreach ($query as $i) {
    if (empty($i['puan'])) {
        $db->query("UPDATE table SET yas = '-', puan = {$i['yas']} WHERE id = {$i['id']}");
    }
}
abdullahx
1052 gün önce

Rica ederim, kargasa1982 daha kısa bir yolunu göstermiş, o şekilde yapmanız daha kolay olabilirdi aslında. Şimdi geçti ama bu işi direkt olarak SQL tarafında halledilmek daha iyidir her zaman. Ufak bir değişiklikle işinize yarar hale gelebilir.

UPDATE tabloadi SET puan=yas, yas='-' WHERE puan = ''
konya
1052 gün önce

yardımcı olmak isteyip cevap yazan tüm arkadaşlara sonsuz teşekkürler.
@abdullahx hocam tam istediğim bu idi Allah razı olsun çok sağolun

kargasa1982
1052 gün önce

UPDATE tabloadi SET puan=yas, yas='-' WHERE puan IS NULL

qplot
1052 gün önce

şöylede yapabılırsın yaş alanı misal 50 den fazla ise bunu al puan kısmına taşı gıbı abdullahın kine ekleme yaparsın