• 18-09-2023, 13:26:58
    #1
    Merhaba,

    if ile ilk sorguladığım değer 2 yanı döngü içerisinde ilk yazması gereken rakanda 2 ama gidiyor ve sıralı şekilde yazıyor.

    1
    2
    17
    18

    ama ilk if sorgum 2 ye eşit ve sıralaması gereken şekil.

    2
    1
    17
    18

    Sorun neden kaynaklı olabilir?

                               <?php
                               $katsors = $db->prepare("SELECT ikID, katAd FROM ilan_kategori WHERE anaID IS NULL");
                               $katsors->execute();
                               while ($katceks = $katsors->fetch(PDO::FETCH_ASSOC)) { 
    
                                  if ($ilancek['anaID'] == $katceks['ikID']) {
    
                                     echo $katceks['ikID'].'kokoko<br>';
    
                                 }else{
                                     
                                   echo $katceks['ikID'].'<br>';
    
                                 } }?>
  • 18-09-2023, 13:38:18
    #2
    ikID default ASC olarak geliyor. Ayrıca koşul ve yapmaya çalıştığınız işlemde son derece kritik bir logic hatası var gibi duruyor. if önce yazılmış olsa bile else de yazdırılabildiği için ve sorgunuzda default ASC olduğundan önce 1 yazdırılıyor. Sıralama yapmak istiyorsanız eğer Priority sütunu eklemeniz ve ORDER BY Priority ASC olarak sorgunuzu getirmeniz mantıklı olacaktır.
  • 18-09-2023, 13:40:24
    #3
    $katsors = $db->prepare("SELECT ikID, katAd FROM ilan_kategori WHERE anaID IS NULL ORDER BY Priority ASC");
    $katsors->execute();
    while ($katceks = $katsors->fetch(PDO::FETCH_ASSOC)) { 
        echo $katceks['ikID'].'<br>';
    }
  • 18-09-2023, 13:42:31
    #4
    Anladım yani farklı bir şekilde yapmam gerekiyor burada kod sıralaması soruguda gelen defoulta göre oluyor.

    Misafir adlı üyeden alıntı: mesajı görüntüle
    $katsors = $db->prepare("SELECT ikID, katAd FROM ilan_kategori WHERE anaID IS NULL ORDER BY Priority ASC");
    $katsors->execute();
    while ($katceks = $katsors->fetch(PDO::FETCH_ASSOC)) {
        echo $katceks['ikID'].'<br>';
    }