Bu sayfalama script filtreleri düzgün nasıl eklenir?

1 Cevap php

Şu anda this tutorial üzerinde çalışıyorum ve bunun için bir filtre düğmesi eklemek istiyorum.

Ben bir eleman tıklanabilir yapmak için jquery kullanıyorum:

<p id="marketing">MARKETING</p>

ve eleman için jquery:

// Sort content Marketing    
$("#pagination p").click(function () {

        Display_Load();

        //Loading Data
        var pageNum = this.id;    

        $("#content").load("filter_marketing.php?page=" + pageNum, Hide_Load());

});

Paragraf etiketi tıklayarak zaman ben alıyorum problem 'filter_marketing.php? Sayfa =' gidecek ama 'var pagenum' beri (yani görüntüler şey) çalışmaz tanımlı değil.

pagenum için php kod şöyle görünür:

<?php
//Pagination Numbers
for($i=1; $i<=$pages; $i++)
{
echo '<li id="'.$i.'">'.$i.'</li>';
}
?>

Im üzerinde bir düğme 'pazarlama' ve tıklayarak sadece nasıl emin php sayfasına gider ve mysql db de sonuç alır ve pagination ile görüntüler.

Herkes bu konuda yardımcı olabilir, bu harika olurdu.

P.S. check the entire script of the tutorial to see the entire structure and how it works. Tutorial

Düzenleme: İşte kod:

Pagination.php:

<?php
include('config.php');
$per_page = 3;

//Calculating no of pages
$sql = "select * from explore where category='marketing'";
$result = mysql_query($sql);
$count = mysql_num_rows($result);
$pages = ceil($count/$per_page)
?>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.1/jquery.min.js"></script>
<script type="text/javascript" src="jquery_pagination.js"></script>

<style>
body { margin: 0; padding: 5; font-family:Verdana; font-size:10px }
a
{
text-decoration:none;
color:#B2b2b2;

}

a:hover
{

color:#DF3D82;
text-decoration:underline;

}
#loading { 
width: 100%; 
position: absolute;
}

#pagination
{
text-align:center;
margin-left:120px;

}
li{ 
list-style: none; 
float: left; 
margin-right: 16px; 
padding:5px; 
border:solid 1px #dddddd;
color:#0063DC; 
}
li:hover
{ 
color:#FF0084; 
cursor: pointer; 
}
td{
border:solid 1px #dddddd;
padding:5px;
}


</style>



<div id="loading" ></div>
<div id="content" ></div>
<ul id="pagination">
<?php
//Pagination Numbers
for($i=1; $i<=$pages; $i++)
{
echo '<li id="'.$i.'">'.$i.'</li>';
}
?>
<p id="marketing">MARKETING</p>
</ul>
<br />
<br />

jquery_pagination.js

$(document).ready(function(){

    //Display Loading Image
    function Display_Load()
    {
        $("#loading").fadeIn(900,0);
        $("#loading").html("<img src='bigLoader.gif' />");
    }
    //Hide Loading Image
    function Hide_Load()
    {
        $("#loading").fadeOut('slow');
    };


   //Default Starting Page Results

    $("#pagination li:first").css({'color' : '#FF0084'}).css({'border' : 'none'});

    Display_Load();

    $("#content").load("pagination_data.php?page=1", Hide_Load());



    //Pagination Click
    $("#pagination li").click(function(){

        Display_Load();

        //CSS Styles
        $("#pagination li")
        .css({'border' : 'solid #dddddd 1px'})
        .css({'color' : '#0063DC'});

        $(this)
        .css({'color' : '#FF0084'})
        .css({'border' : 'none'});

        //Loading Data
        var pageNum = this.id;

        $("#content").load("pagination_data.php?page=" + pageNum, Hide_Load());

    });


// Editing below.        
        // Sort content Marketing    
        $("#pagination p").click(function () {

                Display_Load();

                //Loading Data
        var pageNum = this.id;    

                $("#content").load("filter_marketing.php?page=" + pageNum, Hide_Load());

        });

});

filter_marketing.php:

<?php
include('config.php');
$per_page = 3;
if($_GET)
{
$page=$_GET['page'];
}

$start = ($page-1)*$per_page;
$sql = "select * from explore where category='marketing' order by category limit $start,$per_page";
$result = mysql_query($sql);
?>
<table width="800px">
<?php
while($row = mysql_fetch_array($result))
{
$msg_id=$row['id'];
$message=$row['site_description'];
$site_price=$row['site_price'];

?>
<tr>
<td><?php echo $msg_id; ?></td>
<td><?php echo $message; ?></td>
<td><?php echo $site_price; ?></td>
</tr>
<?php
}
?>
</table>
<?php
//Pagination Numbers
for($mktg=1; $mktg<=$pages; $mktg++)
{
echo '<li class="mktg" id="'.$mktg.'">'.$mktg.'</li>';
}

1 Cevap

The problem that I am getting is when clicking on the paragraph tag will go to 'filter_marketing.php?page=' but will not work (i.e. displays nothing) since the 'var pageNum' is not defined.

Çalışırken Firebug'ın Net panelinde gösterildiği gibi example page Ben sadece, doğru sayfa numaralarını olsun. Gördüğüm garip bir şey Sonuçlar 10-12 gösterilmez olmasıdır, yani sayfa 1 1-9 sonuçları vardır ve sayfa 2 Fuarları (Eğer gerçekten sayfa başına 10 veya 20 sonuç yapmak gerekir) 13-23 sonuçlanır.

Im just unsure how to make a button 'marketing' and clicking on it goes to the php page and gets the results in mysql db and displays it with the pagination.

Nerede 'pazarlama' olan your source code? Bu bir örnek verebilir misiniz? Ben sadece bu soruyu anlamıyorum.

EDIT: Ben hala bu anlamıyorum. # Pazarlama onclick-olay atanmış değil. Ayrıca, ben ve JavaScript ona bir onclick-olay bağlama gibi formda bir düğmeyi kullanabilirsiniz. Varsayılan eylemi engellemek (ya da sadece düğmeye normal şekilde formu göndermek izin) için ne zaman başarılı olduğunu fonksiyonu false AJAX yoluyla PHP aramak veya farklı bir URL'ye gidin dönen edebilirsiniz.