2017-04-25 5 views
1

Config.phpJSON après la pagination en blanc comprend quelques pages

<?php 
    define('HOST','localhost'); 
    define('USER','root'); 
    define('PASS','mypass'); 
    define('DB','db_news'); 

    $con = mysqli_connect(HOST,USER,PASS,DB) or die('Unable to Connect'); 
?> 

Listnews.php

<?php 
include'con_db.php'; 

if (isset($_GET['page']) && is_numeric($_GET['page'])) { 
    $page= (int) $_GET['page']; 
} else { 
    $page= 1; 
} 

$all_row = "SELECT COUNT(*) FROM berita"; 
$data_page = mysqli_query($con, $all_row); 
$r = mysqli_fetch_row($data_page); 

$numrows = $r[0]; 
$rowsperpage = 10; 

$totalpages = ceil($numrows/$rowsperpage); 

//if current page is greater than total pages 
if ($page > $totalpages) { 
    //set current page to last page 
    $page= $totalpages; 
} 

//if current page is less than first page 
if ($page < 1) { 
    //set current page to first page 
    $page= 1; 
} 

// the offset of the list, based on current page 
$offset = ($page - 1) * $rowsperpage; 

$query = "SELECT * FROM berita order by id_berita DESC LIMIT $offset, $rowsperpage"; 
$result = mysqli_query($con, $query); 
if(mysqli_num_rows($result)>0) { 
     $response["list_data"] = array(); 
     while ($row = mysqli_fetch_assoc($result)) { 
      $temp = array("id" => $row["id_berita"], 
         "judul" => $row["judul"], 
         "isi" => $row["isi_berita"], 
         "tgl" => $row["tanggal"].' '.$row["jam"], 
         "dibaca" => $row["dibaca"].' Dibaca', 
         "url_berita" => $row["judul_seo"], 
         "gambar" => $row["gambar"]); 
      array_push($response["list_data"], $temp); 
     } 

     if($result){ 
      $response["success"] = 1; 
      $response["message"] = "Successfully Displayed"; 
      $response["page"] = $page; 
      $response["total_pages"] = $totalpages; 
      $data = json_encode($response); 
      echo $data; 
     } 
     else{ 
      $response["success"] = 0; 
      $response["message"] = "Try Again"; 
      $response["page"] = $page; 
      $response["total_pages"] = $totalpages; 
      $data = json_encode($response); 
      echo $data; 
     } 
}else{ 
    $response["success"] = 2; 
    $response["message"] = "No Details Found"; 
    $response["page"] = $page; 
    $response["total_pages"] = $totalpages; 
    $data = json_encode($response); 
    echo $data; 
} 

/* 
**$data = json_encode($response); 
**echo $data; 
*/ 
?> 

après le test avec postier monhôte/nouvelles/berita.php? Page = 1,2,3, 4,5,6 il montre des données de json. showing json data with page 1-6

puis-je inclure la page 7 monhôte/nouvelles/berita.php? Page = 7 son vide after incluse page 7

s'il vous plaît aidez-moi monsieur, je suis désolé pour la mauvaise ma langue

+0

Je ne sais pas, mais juste essayer de changer 'si ($ result)' à 'si (count ($ response))' – Omi

+0

juste même monsieur, mais j'essayer de requête manuelle fonctionner SELECT * FROM Berita ordre par id_berita DESC LIMIT 7, $ rowsperpage –

+1

enfin fait monsieur, juste ajouter formating utf8ize http://stackoverflow.com/questions/19361282/why-would-json-encode-returns-an-empty-string –

Répondre

0

finalement fait mon problème, il suffit d'ajouter utf8ize fonctionnent

function utf8ize($d) { 
if (is_array($d)) { 
    foreach ($d as $k => $v) { 
     $d[$k] = utf8ize($v); 
    } 
} else if (is_string ($d)) { 
    return utf8_encode($d); 
} 
return $d; 

}

et de l'utilisation pour json_encode

$response["success"] = 1; 
$response["message"] = "Successfully Displayed"; 
$response["page"] = $halaman; 
$response["total_pages"] = $totalpages; 
$data = json_encode(utf8ize($response)); 
echo $data;