简体   繁体   中英

PHP MySQL pagination data using mysqli_fetch_all

I'm using PHP pagination for my table on ORACLE database

$strSQL = oci_parse($c1, "
    SELECT
    L.LINEID,
    L.LINENAME,
    L.ACTIVE,
    TO_CHAR(L.DATEADDED, 'DD-MON-YYYY HH24:MI:SS') AS DATEADDEDS,
    L.ADDEDBY,
    L.SECTIONID_FK,
    S.SECTIONID,
    S.SECTIONNAME
    FROM
    WA_GA_TBL_LINES L,
    WA_GA_TBL_SECTION S
    WHERE
    L.SECTIONID_FK = S.SECTIONID
    ORDER BY L.DATEADDED DESC
"); 
oci_execute ($strSQL,OCI_DEFAULT);
$Num_Rows = oci_fetch_all($strSQL, $dData);

On ORACLE database, it worked OK.

And now I've moved to MySQL database

$strSQL = mysqli_query($c1, "
    SELECT * FROM tb_slides ORDER BY date_added DESC
"); 
$Num_Rows = mysqli_num_rows($strSQL);
$dData = mysqli_fetch_array($strSQL);
var_dump($dData);

But got error:

Notice: Undefined variable: dData in

and

Warning: mysqli_fetch_array(): The result type should be either MYSQLI_NUM, MYSQLI_ASSOC or MYSQLI_BOTH in

Is there any way to fix it?

UPDATE with table data show, as you can see I'm using loop on below code to show the data.

if($Num_Rows > 0)
{
    if($Page > 0)
    {
        if(is_numeric($Page))
        {
            for($i=$Page_Start;$i<$Page_End;$i++)
            {
            ?>
               <td class="spanSlide<?php echo $dData['slide_id'][$i]; ?>"><?php echo htmlspecialchars($dData['slide_content'][$i]); ?></td><input type="hidden" class="slideValue<?php echo $dData['slide_id'][$i]; ?>" id="slideValue" value="<?php echo htmlspecialchars($dData['slide_content'][$i]); ?>"/>
            <?php
            }
        }
    }
}

var_dump

array(12) { [0]=> string(1) "4" ["slide_id"]=> string(1) "4" [1]=> string(346) "Melaksanakan shalat tahiyatul masjid sebelum duduk, sabda Rasulullah saw: Tatkala di antara kamu ke masjid maka bersalatlah dua rakaat sebelum duduk. Tidak boleh mengeraskan suara yang dapat mengganggu orang yang sedang melakukan shalat, meskipun dalam bentuk membaca al-Quran. Tidak boleh berjalan di depan orang yang sedang melaksanakan shalat." ["slide_content"]=> string(346) "Melaksanakan shalat tahiyatul masjid sebelum duduk, sabda Rasulullah saw: Tatkala di antara kamu ke masjid maka bersalatlah dua rakaat sebelum duduk. Tidak boleh mengeraskan suara yang dapat mengganggu orang yang sedang melakukan shalat, meskipun dalam bentuk membaca al-Quran. Tidak boleh berjalan di depan orang yang sedang melaksanakan shalat." [2]=> string(6) "hadits" ["slide_category"]=> string(6) "hadits" [3]=> string(1) "Y" ["active"]=> string(1) "Y" [4]=> string(19) "2017-11-09 00:00:00" ["date_added"]=> string(19) "2017-11-09 00:00:00" [5]=> string(1) "1" ["user_idfk"]=> string(1) "1" }

It's because you wrote the syntax wrong.

 $Num_Rows = mysqli_fetch_all($strSQL, $dData);

should be

 $Num_Rows = mysqli_num_rows($strSQL);
 $dData = mysqli_fetch_all($strSQL);

Mysql needs two steps for that

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM