Bir keresinde veritabanına gidin ve iki kez tüm veri veya almak ve ben her zaman ne gerek almalısınız

0 Cevap php

Ben bazı (temel) php kod yapılandırılmasında bazı tavsiyeler istiyorum.

Ben farklı yerlerde bir tablodaki verileri görüntülemek gerekir. Her bir bölüm görüntülenir gereken satır bayrak ile tespit edilebilir.

Bunu yapmanın en iyi yolu bir kez veritabanına gidin ve onun aracılığıyla ben döngü ya da ben sadece ihtiyacınız olan verileri aramak için sql kullanarak, iki veritabanına gitmeli eğer 2 değişkenleri içine verileri ayırmak için ise emin değilim Her zaman.

Kodunda görmek isteyenler için:

Yöntem A:

// Create and execute a MySQL query
function tasks_not_done(){
        // Open a PDO dtabase connection
        $link = new PDO(DB_INFO, DB_USER, DB_PASS);

        $sql = " SELECT title, created_date
                FROM todos
                WHERE list_id = ? AND checked = '0'
                ORDER BY created_date DESC";
        $stmt = $link->prepare($sql);
        $stmt->execute(array($_REQUEST['list_id']));

        // loop throught all the rows
        while($row = $stmt->fetch()) {
            $date = strtotime($row['created_date']);
            $date = date('d/m/y' , $date);
            echo '<div class="task">' . "\n";
            echo '<span class="taskcdtate">' .$date . '</span>'. '<span class="tasktitle"> ' . $row['title'] . ' </span>' . "\n";
            echo '</div>';

            }
       $stmt->closeCursor();
}

Yöntem B

function tasks_all(){
       // Open a PDO dtabase connection
       $link = new PDO(DB_INFO, DB_USER, DB_PASS);

       $sql = " SELECT title, created_date, checked
                FROM todos
                WHERE list_id = ?
                ORDER BY created_date DESC";
        $stmt = $link->prepare($sql);
        $stmt->execute(array($_REQUEST['list_id']));

        // loop throught all the rows
        $tasks['not_done'] = "";
        $tasks['done'] = "";

        while($row = $stmt->fetch("FETCH_ASSOC")) {
            $date = strtotime($row['created_date']);
            $date = date('d/m/y' , $date);

            if($row['checked'] =='0'){
                $tasks['not_done'] .= '<div class="task">' . "\n";
                $tasks['not_done'] .='<span class="taskcdtate">' .$date . '</span>'. '<span class="tasktitle"> ' . $row['title'] . ' </span>' . "\n";
                $tasks['not_done'] .='</div>';
                } elseif ($row['checked'] =='1') {
                $tasks['done'] .= '<div class="task">' . "\n" .
                $tasks['done'] .='<span class="taskcdtate">' .$date . '</span>'. '<span class="tasktitle"> ' . $row['title'] . ' </span>' . "\n";
                $tasks['done'] .='</div>';
                }

            }
       $stmt->closeCursor();
       return $tasks;
}

teşekkürler

0 Cevap