Bernd: gesamte Anzahl auslesen

Beitrag lesen

https://phpperformance.de/server/database/sql_calc_found_rows-oder-wie-man-effektiv-blaetternavigationen-umsetzt

Danke. Verstehe ich irgendwie nicht. In diesem Artikel wird gesagt, man muss SELECT FOUND_ROWS() direkt nach der LIMIT-Abfrage ausführt.

function Artikel($mysqli, $code) {
    
        $stmt = $mysqli->prepare("

            SELECT SQL_CALC_FOUND_ROWS, a_id, a_code, a_titel ma_id, ma_titel  
            FROM artikel 
            LEFT JOIN marken ON marken.ma_id = artikel.a_programm 
            WHERE a_katID=? AND a_status = 1 ORDER BY RAND() LIMIT 5");

        $stmt->bind_param("s", $code);
        $stmt->execute();
        $stmt->bind_result($a_id, $a_code, $a_titel $ma_id, $ma_titel);
                
        $stmt->store_result();

            if($stmt->num_rows() >  0) {     
                while ($stmt->fetch()){
                    $Artikel[] = array( 
                        'a_id'                      => $a_id, 
                        'a_code'                    => $a_code,
                        'a_titel'                   => $a_titel,
                        'ma_id'                     => $ma_id,
                        'ma_titel'                  => $ma_titel
                    );
                }

            return $Artikel;
        }
    }

Vielleicht ist es doch besser, ich schreibe dazu eine eigene Funktion und lass die andere wie sie war.