2016-03-22 17 views
0

Farklı sıralama sistemleri için sayfa numaralandırma yapan bir kod parçası üzerinde çalışıyorum. (sıralama sistemi) gibi çalışır ve doğru şekilde çıktılar, ancak etiketi etiketleme sistemi için çalışmaz.Sayfalandırma işlemini düzeltmek için kılavuza ihtiyacım var PHP code

$movie = $db2->query("SELECT * FROM movies ORDER BY likes DESC LIMIT $start, $per_page"); 

NOT:

$sorting = $_GET["sorting"]; 
$page = $_GET["page"]; 

$per_page = 10; 
$pages = $count_total->num_rows; 
$total_pages = ceil($pages/$per_page); 

if($sorting == "likes") { 
    $count_total = $db2->query("SELECT * FROM likes WHERE user='$user'"); 
} 

if($sorting == "tag") { 
    $tag_name = $_GET["tag_name"]; 
    $count_total = $db2->query("SELECT * FROM movie_tags WHERE tag_id='$tag_name'"); 
} 

$pages = $count_total->num_rows; 
$total_pages = ceil($pages/$per_page); 

$start = (($page - 1) * $per_page); 


for ($number=1; $number<=$total_pages; $number++) { 
    if($page == $number) { 
     echo '<div class="complete_page">'.$number.'</div>'; 
    } else { 
     $sorting = $_GET["sorting"]; 
     echo '<a href="?page='.$number.'&sorting='.$sorting.'"> <div class="number_page">'.$number.'</div></a>'; 
    } 
} 

Bu

ben sayfalama kullanıyorum nasıl bir örnek ben $pages echo, her iki sıralama sistemleri değerler üretmek. Aslında, etiketin değeri 11'dur. Bu değer neden sayfalandırma sistemini oluşturmuyor? Bunun, sayfalama sistemiyle ilgili bir sorun olmadığını biliyorum çünkü sıralamaların sıralama sistemi için çalışıyor.

+2

[sql injection attacks] 'a karşı savunmasızsınız (http://bobby-tables.com) –

+0

@MarcB biliyorum. Ben bir erteleyiciyim ve sitemdeki güvenliği arttırmalıyım. Ben yeni bir geliştiriciyim ve olabildiğince fazla öğrenmeye çalışıyorum ... –

+0

sayfalamada bir 'tag_name' sorgu değeri ilettiniz mi? Çıktınız sayfa numaralarında hiç göremiyorum, bu yüzden '$ _GET ['tag_name']' un tanımsız ve '' tag_id = '' '' –

cevap

0

PHP'de sayfalama yapmak için, Sorguda iki şeyi kullanmanız yeterlidir.

  1. ürünlerin sayısını elde etme ve pagination

    için bu iki değerlerini değiştirmek, sorgu php

    Select * from table Limit 5 Offset 0 
    

    Yap mantığı benziyor sayfalama sahibi olmak için Örneğin

  2. Sınır

Ofset

+0

Bu işe yaramıyor. Sayfa sıralamada veya while döngüsünde sorun yoktur, çünkü diğer sıralama sistemi için çalışır. Değişkenlerle ilgili bir sorun olduğuna inanıyorum. Ancak kafam karıştı çünkü 11'lik bir değer elde ediyorum –

İlgili konular