• 20-02-2021, 21:19:11
    #1
    PHP ile sqlden verileri çektirerek en çok puanı olanları sıralıyorum. Ama bunlara sıra numarası da vermek istiyorum. Mesela ilk 10 kullanıcı gözükecek sıralamada, eğer kullanıcı 10 kullacının arasında değilse merak edecektir kaçıncı sırada olduğunu. Bunun için nasıl Sıralamada X. sıradasınız yapabilirim?

    Teşekkürler
  • Kabul Edilen Cevap
    • döngünün önüne;

      $say = 0
      ekleyin, döngünün içine ise;

      $say++
      ekleyin daha sonra $say ile sıralamayı yazdırırsınız.
  • 20-02-2021, 21:27:48
    #2
    Bu cevap, moderatörlerimiz tarafından kabul edilebilir bir cevap olarak işaretlendi.
    döngünün önüne;

    $say = 0
    ekleyin, döngünün içine ise;

    $say++
    ekleyin daha sonra $say ile sıralamayı yazdırırsınız.
  • 20-02-2021, 21:34:06
    #3
    hyPerdarKness adlı üyeden alıntı: mesajı görüntüle
    döngünün önüne;

    $say = 0
    ekleyin, döngünün içine ise;

    $say++
    ekleyin daha sonra $say ile sıralamayı yazdırırsınız.
    Tam anlamadım şu kod üzerinden örnek verebilir misiniz hocam

    <div class="content">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="card">
                        <div class="card-header card-header-primary">
                            <h4 class="card-title ">İşlem Geçmişi</h4>
                            <p class="card-category"> Burada gerçekleştirdiğiniz son 10 işlemi görüntüleyebilirsiniz.</p>
                        </div>
                        <div class="card-body">
                            <div class="table-responsive">
                                <table class="table">
                                    <thead class=" text-primary">
                                        <th>
                                            ID
                                        </th>
                                        <th>
                                            Tutar
                                        </th>
                                        <th>
                                            Yapılan İşlem
                                        </th>
                                        <th>
                                            Kullanıcı
                                        </th>
                                        <th>
                                            İşlem Zamanı
                                        </th>
                                    </thead>
                                    <tbody>
                                        <?php
                                        $db->exec("SET names utf8");
                                        $sqlQuery = "SELECT * FROM gecmis WHERE user_id = :id ORDER BY id DESC LIMIT 10";
                                        $statement2 = $db->prepare($sqlQuery);
                                        $statement2->execute(array(':id' => $id));
                                        while($rs2 = $statement2->fetch()){
                                            $gecmisid = $rs2['id'];
                                            $gecmisuser_id = $rs2['user_id'];
                                            $gecmistutar = $rs2['tutar'];
                                            $gecmisislem = $rs2['islem'];
                                            $gecmiszaman = $rs2['zaman'];
                                            $gecmisuser_name = $rs2['user_name'];
                                            $gecmistype = $rs2['type'];
                                        ?>
                                        <tr>
                                            <td>
                                                <?php if (isset($gecmisid)) echo $gecmisid; ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmistutar)) echo $gecmistutar; ?> <?php if ($gecmistype== "TL") { echo '₺'; } else { echo '$ '; } ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmisislem)) echo $gecmisislem; ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmisuser_name)) echo $gecmisuser_name; ?>
                                            </td>
                                            <td class="text-primary">
                                                <?php if (isset($gecmiszaman)) echo $gecmiszaman; ?>
                                            </td>
                                        </tr>
                                        <?php
                                        } ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    Mesela bunda örnek vermek gerekirse?
  • 20-02-2021, 21:40:15
    #4
    AndMex adlı üyeden alıntı: mesajı görüntüle
    Tam anlamadım şu kod üzerinden örnek verebilir misiniz hocam

    <div class="content">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="card">
                        <div class="card-header card-header-primary">
                            <h4 class="card-title ">İşlem Geçmişi</h4>
                            <p class="card-category"> Burada gerçekleştirdiğiniz son 10 işlemi görüntüleyebilirsiniz.</p>
                        </div>
                        <div class="card-body">
                            <div class="table-responsive">
                                <table class="table">
                                    <thead class=" text-primary">
                                        <th>
                                            ID
                                        </th>
                                        <th>
                                            Tutar
                                        </th>
                                        <th>
                                            Yapılan İşlem
                                        </th>
                                        <th>
                                            Kullanıcı
                                        </th>
                                        <th>
                                            İşlem Zamanı
                                        </th>
                                    </thead>
                                    <tbody>
                                        <?php
                                        $db->exec("SET names utf8");
                                        $sqlQuery = "SELECT * FROM gecmis WHERE user_id = :id ORDER BY id DESC LIMIT 10";
                                        $statement2 = $db->prepare($sqlQuery);
                                        $statement2->execute(array(':id' => $id));
                                        while($rs2 = $statement2->fetch()){
                                            $gecmisid = $rs2['id'];
                                            $gecmisuser_id = $rs2['user_id'];
                                            $gecmistutar = $rs2['tutar'];
                                            $gecmisislem = $rs2['islem'];
                                            $gecmiszaman = $rs2['zaman'];
                                            $gecmisuser_name = $rs2['user_name'];
                                            $gecmistype = $rs2['type'];
                                        ?>
                                        <tr>
                                            <td>
                                                <?php if (isset($gecmisid)) echo $gecmisid; ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmistutar)) echo $gecmistutar; ?> <?php if ($gecmistype== "TL") { echo '₺'; } else { echo '$ '; } ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmisislem)) echo $gecmisislem; ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmisuser_name)) echo $gecmisuser_name; ?>
                                            </td>
                                            <td class="text-primary">
                                                <?php if (isset($gecmiszaman)) echo $gecmiszaman; ?>
                                            </td>
                                        </tr>
                                        <?php
                                        } ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    Mesela bunda örnek vermek gerekirse?
    <div class="content">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="card">
                        <div class="card-header card-header-primary">
                            <h4 class="card-title ">İşlem Geçmişi</h4>
                            <p class="card-category"> Burada gerçekleştirdiğiniz son 10 işlemi görüntüleyebilirsiniz.</p>
                        </div>
                        <div class="card-body">
                            <div class="table-responsive">
                                <table class="table">
                                    <thead class=" text-primary">
                                        <th>
                                            ID
                                        </th>
                                        <th>
                                            Tutar
                                        </th>
                                        <th>
                                            Yapılan İşlem
                                        </th>
                                        <th>
                                            Kullanıcı
                                        </th>
                                        <th>
                                            İşlem Zamanı
                                        </th>
                                    </thead>
                                    <tbody>
                                        <?php $say = 0; //while döngüsü öncesi
                                        $db->exec("SET names utf8");
                                        $sqlQuery = "SELECT * FROM gecmis WHERE user_id = :id ORDER BY id DESC LIMIT 10";
                                        $statement2 = $db->prepare($sqlQuery);
                                        $statement2->execute(array(':id' => $id));
                                        while($rs2 = $statement2->fetch()){
                                            $gecmisid = $rs2['id'];
                                            $gecmisuser_id = $rs2['user_id'];
                                            $gecmistutar = $rs2['tutar'];
                                            $gecmisislem = $rs2['islem'];
                                            $gecmiszaman = $rs2['zaman'];
                                            $gecmisuser_name = $rs2['user_name'];
                                            $gecmistype = $rs2['type'];
                                        ?>
                                        <tr>
                                            <td>
                                                <?php echo $say; /* sıra numarası 0'dan başlar döngü sonuna kadar devam eder */?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmisid)) echo $gecmisid; ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmistutar)) echo $gecmistutar; ?> <?php if ($gecmistype== "TL") { echo '₺'; } else { echo '$ '; } ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmisislem)) echo $gecmisislem; ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmisuser_name)) echo $gecmisuser_name; ?>
                                            </td>
                                            <td class="text-primary">
                                                <?php if (isset($gecmiszaman)) echo $gecmiszaman; ?>
                                            </td>
                                        </tr>
                                        <?php
                                        $say++ //döngü içi
                                        } ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    gönderdiğiniz kod'a ekledim.
  • 20-02-2021, 21:42:45
    #5
    hyPerdarKness adlı üyeden alıntı: mesajı görüntüle
    <div class="content">
        <div class="container-fluid">
            <div class="row">
                <div class="col-md-12">
                    <div class="card">
                        <div class="card-header card-header-primary">
                            <h4 class="card-title ">İşlem Geçmişi</h4>
                            <p class="card-category"> Burada gerçekleştirdiğiniz son 10 işlemi görüntüleyebilirsiniz.</p>
                        </div>
                        <div class="card-body">
                            <div class="table-responsive">
                                <table class="table">
                                    <thead class=" text-primary">
                                        <th>
                                            ID
                                        </th>
                                        <th>
                                            Tutar
                                        </th>
                                        <th>
                                            Yapılan İşlem
                                        </th>
                                        <th>
                                            Kullanıcı
                                        </th>
                                        <th>
                                            İşlem Zamanı
                                        </th>
                                    </thead>
                                    <tbody>
                                        <?php $say = 0; //while döngüsü öncesi
                                        $db->exec("SET names utf8");
                                        $sqlQuery = "SELECT * FROM gecmis WHERE user_id = :id ORDER BY id DESC LIMIT 10";
                                        $statement2 = $db->prepare($sqlQuery);
                                        $statement2->execute(array(':id' => $id));
                                        while($rs2 = $statement2->fetch()){
                                            $gecmisid = $rs2['id'];
                                            $gecmisuser_id = $rs2['user_id'];
                                            $gecmistutar = $rs2['tutar'];
                                            $gecmisislem = $rs2['islem'];
                                            $gecmiszaman = $rs2['zaman'];
                                            $gecmisuser_name = $rs2['user_name'];
                                            $gecmistype = $rs2['type'];
                                        ?>
                                        <tr>
                                            <td>
                                                <?php echo $say; /* sıra numarası 0'dan başlar döngü sonuna kadar devam eder */?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmisid)) echo $gecmisid; ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmistutar)) echo $gecmistutar; ?> <?php if ($gecmistype== "TL") { echo '₺'; } else { echo '$ '; } ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmisislem)) echo $gecmisislem; ?>
                                            </td>
                                            <td>
                                                <?php if (isset($gecmisuser_name)) echo $gecmisuser_name; ?>
                                            </td>
                                            <td class="text-primary">
                                                <?php if (isset($gecmiszaman)) echo $gecmiszaman; ?>
                                            </td>
                                        </tr>
                                        <?php
                                        $say++ //döngü içi
                                        } ?>
                                    </tbody>
                                </table>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    gönderdiğiniz kod'a ekledim.

    Teşekkürler hocam, yalnız şuanda direk bu kodu değiştirdiğimde mevcuttakiyle HTTP ERROR 500 veriyor.
  • 20-02-2021, 21:44:10
    #6
    AndMex adlı üyeden alıntı: mesajı görüntüle
    Teşekkürler hocam, yalnız şuanda direk bu kodu değiştirdiğimde mevcuttakiyle HTTP ERROR 500 veriyor.
    $say++ kısmına noktalı virgül unutmuşum, onu ekleyin.
  • 20-02-2021, 21:46:51
    #7
    hyPerdarKness adlı üyeden alıntı: mesajı görüntüle
    $say++ kısmına noktalı virgül unutmuşum, onu ekleyin.
    Çok teşekkür ederim hocam oldu. Peki kullanıcıya ait sıra numarasını nasıl alabilirim? yani kullanıcı tabloda değilse , hani LİMİT 10 ya üstüne de bir box eklemek istiyorum, Sıralamada 11. Sıradasınız gibi mesela
  • 20-02-2021, 22:01:50
    #8
    AndMex adlı üyeden alıntı: mesajı görüntüle
    Çok teşekkür ederim hocam oldu. Peki kullanıcıya ait sıra numarasını nasıl alabilirim? yani kullanıcı tabloda değilse , hani LİMİT 10 ya üstüne de bir box eklemek istiyorum, Sıralamada 11. Sıradasınız gibi mesela
    rica ederim. sql sorgu limitini kaldırıp if ile 10 sayısına eşit yada küçük ise yazdır değilse sıra numarasını yazdır gibi bir şey olabilir belki.

    tabi deneme yapmak lazım, kurguladığınız yapı, tablolarınız vs ona uygun bir çözüm üretebilirsiniz.
  • 20-02-2021, 22:03:11
    #9
    hyPerdarKness adlı üyeden alıntı: mesajı görüntüle
    rica ederim. sql sorgu limitini kaldırıp if ile 10 sayısına eşit yada küçük ise yazdır değilse sıra numarasını yazdır gibi bir şey olabilir belki.

    tabi deneme yapmak lazım, kurguladığınız yapı, tablolarınız vs ona uygun bir çözüm üretebilirsiniz.

    Aklıma gelmiyor hocam, count dataları sayıyor tek tek ama yazdırılmayanları da sayıyor mu?