• 12-05-2021, 05:51:27
    #1
    SORUN ÇÖZÜLMÜŞTÜR


    Merhaba arkadaşlar ufak bir sorunum var.
    ilk olarak anlatayım işlemi
    aşağıdaki kod ; Veritabanında verileri ekrana basılıyor

    ekrana basılan
    id, category, img, ask, a, b, c, d, answer bunları ekrana basıyor
    yanlız sorunum
    Sayfa her yenilendiğinde ekrana basılan icerikler değişiyor,
    Ben sayfa her yenilendiğinde icerik değişmesin silinmedikten sonra Sayfa yenilensede kapatılsada icerik sabit kalsın değişmesin..
    bunu aşağıdaki kodda ne yapmam gerek
    yardımcı olursanız sevinirim..

    +R10




    <?php
    
    // DB Bilgileri
     $servername = "localhost";
    
    $username = "Kullanıcı adı";
    
    $password = "dbsifre";
    
    $dbname = "DB ismi";
    
    // Create connection
    
    $conn = new mysqli($servername, $username, $password, $dbname);
    
    // bağlantıyı test et
    
    if ($conn->connect_error) {
    
        die("Connection failed: " . $conn->connect_error);
    
    }
    
    $conn->set_charset("utf8");
    
    $sql = "SELECT id, category, img, ask, a, b, c, d, answer FROM asks ORDER BY RAND() DESC ";
    
    $result = $conn->query($sql);
    
    
    
    if ($result->num_rows > 0) {
    
        // her bir satırı döker
    
        while($row = $result->fetch_assoc()) {
    
            echo "<br />id: " . $row["id"]. "<br /> Kategory : " . $row["category"]. "<br /> Resim: " .$row["img"]."<br />Soru - " . $row["ask"] . "<br />A - " . $row["a"] . "<br />B - " . $row["b"] . "<br />C - " . $row["c"] . "<br />D - " . $row["d"] . "<br />DOGRU CEVAP " . $row["answer"]." <br />
    
    ";
    
        }
    
    } else {
    
        echo "0 results";
    
    }
    
    $conn->close();
    
    ?>
  • 12-05-2021, 05:57:22
    #2
    "SELECT id, category, img, ask, a, b, c, d, answer FROM asks ORDER BY RAND() DESC ";
    yerine

    "SELECT id, category, img, ask, a, b, c, d, answer FROM asks";
    kullanırsanız istediğiniz olur
  • 12-05-2021, 06:08:26
    #3
    Hapsher adlı üyeden alıntı: mesajı görüntüle
    "SELECT id, category, img, ask, a, b, c, d, answer FROM asks ORDER BY RAND() DESC ";
    yerine

    "SELECT id, category, img, ask, a, b, c, d, answer FROM asks";
    kullanırsanız istediğiniz olur
    Evet buradaki ORDER BY RAND kısmı random içerik dönmesini sağlıyor. Eğer son verileri çekmek isterseniz sonuna DESC, ilkten sona doğru çekmek isterseniz ASC yazabilirsiniz.
  • 12-05-2021, 06:08:57
    #4
    Hapsher adlı üyeden alıntı: mesajı görüntüle
    "SELECT id, category, img, ask, a, b, c, d, answer FROM asks ORDER BY RAND() DESC ";
    yerine

    "SELECT id, category, img, ask, a, b, c, d, answer FROM asks";
    kullanırsanız istediğiniz olur
    Teşekkür ederim
    peki
    SELECT id, category, img, ask, a, b, c, d, answer FROM asks ORDER BY RAND() DESC LIMIT 100

    limitlendirme yaptığımda bu mümkünmüdür.... 15k icerikten sadece 100 tanesi ekrana basılsın ve silinmedikten sonra değişmesin sayfa yenilendiğinde.
  • 12-05-2021, 06:10:19
    #5
    Aynı mantık ile yapabilirsiniz

     SELECT id, category, img, ask, a, b, c, d, answer FROM asks ORDER BY id DESC LIMIT 100
  • 12-05-2021, 06:10:19
    #6
    klasweb adlı üyeden alıntı: mesajı görüntüle
    Teşekkür ederim
    peki
    SELECT id, category, img, ask, a, b, c, d, answer FROM asks ORDER BY RAND() DESC LIMIT 100

    limitlendirme yaptığımda bu mümkünmüdür.... 15k icerikten sadece 100 tanesi ekrana basılsın ve silinmedikten sonra değişmesin sayfa yenilendiğinde.
    Sorgunuzun sonuna "LIMIT 100" eklemeniz yeterli olur.
  • 12-05-2021, 06:11:15
    #7
    SELECT id, category, img, ask, a, b, c, d, answer FROM asks ORDER BY RAND() DESC
    bu koddaki "ORDER BY RAND() DESC" ifadesi rastgele bir id değerindeki satırı getir demektir.
    En son kayıtı getirmek isterseniz aşağıdaki şekilde değiştirin, düzelecektir.
    SELECT id, category, img, ask, a, b, c, d, answer FROM asks ORDER BY id DESC
  • 12-05-2021, 06:16:08
    #8
    Cok Tesekkür ederim.. Hallettim tekrar ayrı ayrı teşekkür ederim...