• 23-12-2007, 07:54:19
    #1
    Misafir
    arkdaşlar

    <?
    $islem="SELECT * FROM tablo WHERE no ORDER BY no DESC";
    $sonuc=mysql_db_query($dbname,$islem);
    ?>
    <? while ($kaan=mysql_fetch_array($sonuc)){ ?>

    <?=$kaan[soz];?>
    <? } ?>

    komutuyla sozoku.php dosyama veri çekiyorum. ancak artık çekmiyor.
    Yani en son eklediğim söz no'su 50 diyelim; 1no'dada 49'nodada vs.. bütün no'larda 50'nonun söz'ünü çekiyor db'den.

    phpmyadmin'de herşey normal. Ana Sayfada da herşey normal ancak sozoku.php yada haberindevami.php dosyalarına çekerken bu şekilde oluyor.

    ((ŞUANDA YENİ FARKETTİM KODLADIĞIM DİĞER SİTEDE DE BU SORUN VAR))

    ZONGULDAKSPOR com - Bağımsız Taraftar Platformu - zonguldakspor zonguldak spor karaelmas kara elmas forza kara elmas forzakaraelmas zonguldaksporluyuz zonguldak sporluyuz adresinden sol menüdeki haberler bölümüne tıklayarak hangi haberı okursanız okuyun en son eklenen haber çıkıyor. ancak bu scripti kodlayalı 1 ay oldu ve çok iyi çalışıyordu. yeni kodlamaya başladığım scriptde bu hatayla karşılaştım bi anda diğer kodladığım scriptin sahibide geldi aynı gün..

    yukarıdaki sitenin yönetim panelinden de haber ekliyorum siliyorum ana sayfadaki haberler vs.. herşey yolunda ancak bi anda haberindevami.php duyurudevami.php gibi dosyalarda sorun oldu. server'dan kaynaklanıyor diyeceğim localhost'mda da böyle. free bir server'da denedim orda da aynı
    Saygılar..
  • 23-12-2007, 09:28:07
    #2
    Misafir
    yazmayı unutmuşum;

    <?
    $islem="SELECT * FROM tablo WHERE no ORDER BY no DESC LIMIT 1";
    $sonuc=mysql_db_query($dbname,$islem);
    ?>
    <? while ($kaan=mysql_fetch_array($sonuc)){ ?>

    <?=$kaan[soz];?>
    <? } ?>

    komut bu şekildedir. LIMIT 1 'dir. başka bir şekilde db'den php ile nasıl çekebilirim bilgi verirseniz sevinirim.
  • 23-12-2007, 09:33:28
    #3
    Üyeliği durduruldu
    Bi ton yöntemle çekebilirsin şimdi limiti 1 demişsin ama ben sana genel bir kod yazayım. Ne kadar verin varsa hepsini sırayla çekebilmen için.
    <?php
    $islem = "SELECT * FROM tablo WHERE no ORDER BY no DESC LIMIT 1";
    $sonuc = mysql_db_query($dbname, $islem);
    while ($kaan = mysql_fetch_array($sonuc)) {
        echo $kaan[soz] . "<br>";
    }
    ?>
    Bide şu fazla gibi ama
    $islem = "SELECT * FROM tablo WHERE no ORDER BY no DESC LIMIT 1";
    Şöyle olacak sanki
    $islem = "SELECT * FROM tablo ORDER BY no DESC LIMIT 1";
  • 23-12-2007, 09:42:24
    #4
    Misafir
    yok babacan oLmadı sorun kodda değiL çok değişik birşey. çünkü hiç kodLarına eLLemediğim sitede de aynı sorun var. en son ekLenen söz numarası 5 diyeLim 1 2 3 4 numaraLı sözLerin hepsinde 5 numaraLı söz cıkıyor. 5 numaraLı sözdede aynı söz cıkıyor. sorun bu :S
  • 23-12-2007, 12:49:48
    #5
    Üyeliği durduruldu
    <?
     $islem="SELECT * FROM tablo WHERE no ORDER BY no DESC LIMIT 1";
     $sonuc=mysql_db_query($dbname,$islem);
     ?>
     <? while ($kaan=mysql_fetch_array($sonuc)){ ?>
     
     <?=$kaan[soz];?>
     <? } ?>
    Bu koddan bişi anlamadım desem yeridir
    ondan anladığım kadarını kendi bakış açımla yazıcam
     <?PHP
    $sql = mysql_db_query($dbname, "SELECT * FROM `tablo` ORDER BY `no` DESC LIMIT 1");
    while($row = mysql_fetch_array($sql)) {
    echo $row[soz];
    }
    ?>
    şu şekil bir dene gerçi senin yaptığından farklı yapmadım ama eminimki sqlde sorun vardır. sqli kopyala phpmyadmine gir sql bölümüne
    yapıştır bi incele bakalım. Kaç veri dönüyor sonrasında ne dönüyor.
  • 23-12-2007, 20:48:41
    #6
    Misafir
     
    -- 
    -- Tablo yapısı: `tablo`
    -- 
    CREATE TABLE `tablo` (
      `no` int(10) unsigned NOT NULL auto_increment,
      `baslik` text NOT NULL,
      `soz` text NOT NULL,
      `sayac` int(25) NOT NULL default '0',
      PRIMARY KEY  (`no`)
    ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 AUTO_INCREMENT=509 ;
    -- 
    -- Tablo döküm verisi `tablo`
    -- 
    INSERT INTO `tablo` VALUES (500, 'asdsa', 'aaa', 14);
    INSERT INTO `tablo` VALUES (501, 'qweqewq', 'bbb', 4);
    INSERT INTO `tablo` VALUES (502, 'qwdqwdq', 'ccc', 12);
    INSERT INTO `tablo` VALUES (503, 'dasda', 'ddd', 18);
    INSERT INTO `tablo` VALUES (504, 'asdasda', 'eee', 15);
    INSERT INTO `tablo` VALUES (505, 'asdas', 'dasdada', 0);
    sql sorgum budur. verdiğiniz kod'da oLmadı.. off nasıL bir sorundur bu anLamadım
  • 23-12-2007, 22:08:11
    #7
    Misafir
    birde şu var arkadaşlar phpmyadmin'de de herşey yolunda yani bütün haberler başlıkları vs.. eklendiği gibi düzgün.
  • 23-12-2007, 23:52:43
    #8
    Kurumsal PLUS
    <?
    $islem="SELECT * FROM tablo ORDER BY no DESC LIMIT 1";
    $sonuc=mysql_db_query($dbname,$islem);
    ?>
    <? while ($kaan=mysql_fetch_array($sonuc)){ ?>

    <?=$kaan[soz];?>
    <? } ?>
  • 23-12-2007, 23:52:52
    #9
    <?
    $islem="SELECT * FROM tablo WHERE no ORDER BY no DESC";
    $sonuc=mysql_db_query($dbname,$islem);
    ?>
    <? while ($kaan=mysql_fetch_array($sonuc)){ ?>
    
    <?=$kaan[soz];?>
    <? } ?>
    <?php
    $sonuc = mysql_query("SELECT * FROM tablo ORDER BY no DESC limit 1");
    $kaan = mysql_fetch_array($sonuc);
    echo $kaan['soz'];
    ?>
    Son veriyi döndürür.

    <?php
    $sonuc = mysql_query("SELECT * FROM tablo ORDER BY no DESC limit 10");
    while($kaan = mysql_fetch_array($sonuc)){
    echo $kaan['soz'].'<br>';
    }
    ?>
    Son 10 veriyi döndürür

    Eğer son 10 veride en sonunucu verinin söz değeri dönüyorsa no auto_increment değildir. no lar her kayıtta aynıdır. Aksi halde her no nun sözü ayrı olmalı yada her no ya aynı söz ekliyorsundur.