[]

Bir PHP Sorusu

Şimdi bir siteden veri çekiyorum. Bu verileri database'ime kaydediyorum.

Bu siteden veri çekmeyi 1 saatte bir tekrarlamam gerekiyor. Ve bu aşamada şunu yapmak istiyorum: sadece değişen verileri veritabanımda "update"lesin, diğerlerine dokunmasın.

Resimdeki gibi bir database'im var diyelim.
İnternetten de bu ahmet mehmet fevzi cemil ali'nin sürekli olarak verilerini çekiyorum, saatte 1.
karşılarındaki 10-15-20 gibi sayılar değişebiliyor yani.

Hah işte şöyle bir şey yapmak istiyorum:

Yalnızca sayısı değişen satıra update yapmak istiyorum. Onun dışındaki satırlara hiç dokunmayayım. Bunu nasıl belirleyebilirim?

Yani nasıl bir şekilde;

yalnızca değişen satırları update table yap, diğerlerine dokunma diyebilirim?

 
update table_name
set bıdı = 20
where hebe = 'ahmet'

ama hmm sanırım yeni anladım. değişip değişmediğini kontrol edeyim diyorsan şöyle olabilir:

update table_name
set bıdı = 20
where hebe = 'ahmet' and bıdı != 20
  • kta  (09.03.12 11:27:16 ~ 11:32:40) 
jquery ile yapacaksın.

www.egonomik.com
  • pipbull  (09.03.12 11:56:21) 
Ahmet'i Mehmet'i unique olarak tanımla. Eğer ad, soyad varsa, ikisini birden tek şekilde unique yapman lazım (ayrı ayrı yaparsan olmaz). Böylelikle az sonra yapacağımız şeylerde Ahmet'in değeri değiştiğinde, eski Ahmet'e ek olarak yeni bir Ahmet daha ortaya çıkmasın.

Ardından hiç bir veri yokmuş da sıfırdan tablolara insert ediyormuşcasına bir INSERT sorgusu oluştur.

Sorgunun sonuna şunu ekle;

ON DUPLICATE KEY UPDATE guncellenecek_sutun_adlari = values(guncellenecek_degerleri)

Örnek olarak şöyle bir şey olmalı;

INSERT INTO tablo (adi, yasi) VALUES ("ahmet", "22") ON DUPLICATE KEY UPDATE yasi = VALUES(yasi)

ahmet, ve 22 yerine $adi, $yasi gibi şeyler kullanacaksın bu arada...

Bu çok performanslı bir öneri olmayabilir (olabilir de), ama çalışmalı.
  • turkay  (09.03.12 12:09:35) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.