2016-10-11 6 views
-2

このスクリプトを以前に投稿してページネーションエラーを修正しましたが、償却されたmysqlから離れるように更新する必要がありますが、ceil(mysql_result)およびmysql_fetch_assoc ($ query)の部分です。この減価償却されたmysqlスクリプトをmysqliに移植するには

$per_page = 25; 
$pages_query = mysql_query("SELECT count(*) FROM my_db WHERE StartDate >= CURDATE()"); 
$pages = ceil(mysql_result($pages_query, 0)/$per_page); 
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1; 
$start = ($page - 1) * $per_page; 
$query = mysql_query("SELECT *, DATE_FORMAT(StartDate, '%d/%m/%Y') StartDate, CompName, HostState, Location, competitiontypedesc FROM my_db WHERE StartDate >= CURDATE() LIMIT $start, $per_page"); 

while($query_row = mysql_fetch_assoc($query)) { 
echo" 
<li class='kleo-masonry-item event-item'> 
    <div class='member-inner-list animated animate-when-almost-visible bottom-to-top start-animation grey-border'> 
     <div class='event-cell event-date-cell'> 
      <p class='no-margin'>" . $query_row["StartDate"] . "</p> 
     </div> 
     <div class='event-cell name'> 
      <p class='no-margin'>" . $query_row["CompName"] ." " .$query_row["LastName"]. "</p> 
     </div> 
     <div class='event-cell'> 
      <p class='no-margin'>" . $query_row["Location"] . "</p> 
     </div> 
     <div class='event-cell'> 
      <p class='no-margin'>" . $query_row["HostState"] . "</p> 
     </div> 
</li> 
" 
; 
} 
      $prev = $page - 1; 
      $next = $page + 1; 

      if(!($page <= 1)){ 
      echo "<a href='?page=$prev'><</a> ";} 

      if($pages >= 1){ 
      for($x=1; $x<=$pages; $x++){ 
      echo ($x == $page) ? '<b><a href="?page='.$x.'">'.$x.'</a></b> ' : '<a href="?page='.$x.'">'.$x.'</a>';} 
      } 

      if(!($page >= $pages)){ 
      echo "<a href='?page=$next'>></a> ";} 
      } 
      } 
+2

私はあなたのコード内の任意のmysqliの試みを表示されません。 – Phiter

+0

こんにちはPhiter、私はmysqliで私の試行を私はdb接続と次のクエリ、mysqliへの変更の非常に基本的な理解を変更していたので除外しました $ pages_query = mysqli_query( "SELECT count(*)FROM my_db WHERE StartDate> = CURDATE() "); – Dexx

答えて

0

変数名を明確にするために使用されます。$ pages_queryは$ pagesResultsetでなければなりません。ここ は本質です:

$dbCon = new mysqli(host,user,pas,db); 
$resultset = $dbCon->query("select ..."); 
if($resultset->num_rows == 0) die('issues'); 
$pageSize = 25; 
$pageCount = ceil($resultset->num_rows/$pageSize); 
while($row = $resultset->fetch_assoc()) { 
    /* do something */ 
} 
$dbCon->close(); 
+0

addenda:あなた自身のために、小枝やその他のテンプレートエンジンに切り替えるか、6ヶ月以内にあなた自身を憎むでしょう。それを使用する方法を理解するために1時間かかり、夜間の涙と引っ張った毛を節約します。 –

+0

ありがとうポール、これはうまく動作しましたが、私はページングコードを問題から外し、正しく動作させるために問題を抱えています。 改ページは次のようになります $ prev = $ page - 1; \t \t \t \t $ next = $ page + 1; \t \t \t \t場合(($ページ<= 1){ \t \t \t \tエコー "<";} \t \t \t \t($ページであれば!)> = 1){ \t \t \t \t用($ x = 1; $ x <= $ pages; $ x ++){ \t \t \t \t echo($ x == $ page)? ''.$x.'': ''.$x.'';} \t \t \t \t} \t \t \t \t場合(!($ページ> = $ページ)){ \t \t \t \tエコー ">";} \t \t \t \t} \t \t \t \t – Dexx

+0

m eここに、何が間違っているのか? :)また...スマートで、$ pagesCount、$ nextPageIndexなどを使用する...あなたがコードの本のようなコードを読めるようになると、デバッグの容易さを想像することはできません –

関連する問題