• 28-07-2009, 16:15:31
    #1
    İçeriğim tıklanınca okunma sayısı değişmiyor.
    Aşağıya kodlarımı yazarak anlayan arkadaşların yardımını bekliyorum.

    <?
    $sql="SELECT oykuler.kategorid, oykuler.ad, oykuler.image2, oykuler.image3,"
    . "\n oykuler.image4, oykuler.image5, oykuler.yazarid, oykuler.edebiturid,"
    . "\n oykuler.yayin, oykuler.bolumid, oykuler.user, oykuler.hit"      
    . "\n FROM oykuler"
    . "\n INNER JOIN kategoriler ON oykuler.kategorid = kategoriler.id"
    . "\n INNER JOIN yazarlar ON oykuler.yazarid = yazarlar.id"
    . "\n INNER JOIN turler ON oykuler.edebiturid = turler.id"
    . "\n INNER JOIN bolumler ON oykuler.bolumid = bolumler.id"
    . "\n WHERE oykuler.yayin='E' AND oykuler.id='$id'";"
    $sorgu=mysql_query($sql, $link);
    $data=mysql_fetch_array($sorgu);
    $sql="UPDATE oykuler SET hit='".++$data[hit]."' WHERE id=$data[id]";
    $sorgu=mysql_query($sql, $link);
    ?>
    hatanın şu satırında olacağını sanıyorum, yine de bilenlerin müdahalesini bekliyorum.

    $sql="UPDATE oykuler SET hit='".++$data[hit]."' WHERE id=$data[id]";
  • 28-07-2009, 16:58:38
    #2
    Üyeliği durduruldu
    $sql="UPDATE oykuler SET hit=hit+1 WHERE id=$data[id]";
  • 28-07-2009, 17:05:21
    #3
    tırnak içine alman gerekiyor sanırım:
    $sql="UPDATE oykuler SET hit='".++$data[hit]."' WHERE id='$data[id]'";
  • 28-07-2009, 17:43:01
    #4
    Sitenin başka yerinde aynen böyle çalışıyor:

    $sql="UPDATE haberler SET hit='".++$veri[hit]."' WHERE id=$veri[id]";
    Dikkatinizi bu INNER JOIN meselesine çekmek istiyorum.
    Eklediğim bu kodlardan sonra halen SET hit diye çağırmam doğru mu? Şöyle birşey olmayacak mı?

    $sql="UPDATE oykuler SET oykuler.hit='".++$veri[oykuler.hit]."' WHERE id=$veri[oykuler.id]";
    Gerçi böyle yöntemleri deneyerek deneme yanılma ile çözüm arıyorum ama sorun böyle birşey olmasın ?
  • 28-07-2009, 17:49:08
    #5
    veritabanı yapını yanlış tahmin etmediysem şöyle olması lazım:
    $sql="UPDATE oykuler SET oykuler.hit='".++$veri[hit]."' WHERE oykuler.id=$veri[id]";
  • 28-07-2009, 18:06:36
    #6
    Burada önerilen tüm yöntemleri denedim.
    Hala sadece bu satır hata veriyor

    $sql="UPDATE oykuler SET oykuler.hit='".++$data[hit]."'	WHERE oykuler.id=$data[id]";
    Hata satırı da şöyle:

    Parse error: syntax error, unexpected T_STRING in /www/oykucu/oyku_detay.php on line 46
  • 28-07-2009, 18:18:53
    #7
    böle dene:
    $sql="UPDATE oykuler SET oykuler.hit='".++$data['hit']."' WHERE oykuler.id='$data[id]'";
  • 28-07-2009, 18:25:20
    #8
    Tahmin ettiğim gibi mesele INNER JOIN özelliğinden kaynaklanıyormuş.
    Sorun şu şekilde hal oldu:
    $sql="UPDATE oykuler SET oykuler.hit='".++$data[33]."'"
    . "\n WHERE oykuler.id=$data[34]";
    Yani köşeli parantez içine artık rakamla SELECT içinde sıralanmış verinin sıra numarasını vermek zorundayız. INNER JOIN ile tabloları ilişkilendirdiğimiz için bu böyle.
    Meseleyi hallettim.
    Fikir ve yardımlarınız için çok çok teşekkür ederim.