2010-04-03 2 views
0

나는 링크가페이징 및 편집 카테고리 상태

function homestatus() { 
    $ID  = mysql_real_escape_string($_GET['id']); 
    $query = "UPDATE category SET home = 0 WHERE id= $ID "; 
    $result = mysql_query($query); 
    if (mysql_affected_rows() == 1) { 
     header('Location: index.php?page=categories'); 
     } 
} 

모든 것이 잘 작동을하지만, 페이징이 :

/index.php?page=categories&pg=2 

내가 리디렉션 페이지 = 2에있는 항목을,을 index.php 것을 싶어? 페이지 = 범주 & 페이지 = 2어떻게하면됩니까? 미리 감사드립니다

페이징 기능 :

function Pages($tbl_name,$limit,$path){ 

$query = "SELECT COUNT(*) as num FROM $tbl_name"; 
$total_pages = mysql_fetch_array(mysql_query($query)); 
$total_pages = $total_pages[num]; 
$adjacents = "2"; 
$pg = $_GET['pg']; 
if($pg) 
    $start = ($pg - 1) * $limit; 
else 
    $start = 0; 

$sql = "SELECT id FROM $tbl_name LIMIT $start, $limit"; 
$result = mysql_query($sql); 

if ($pg == 0) $pg = 1; 
    $prev = $pg - 1; 
    $next = $pg + 1; 
    $lastpage = ceil($total_pages/$limit); 
    $lpm1 = $lastpage - 1; 

    $pagination = ""; 
if($lastpage > 1) 
{ 
    $pagination .= "<div class='pagination'>"; 
if ($pg > 1) 
    $pagination.= "<a href='".$path."pg=$prev' class=\"prev\">« Önecki</a>"; 
else 
    $pagination.= "<span class='disabled'>« Önceki</span>"; 

if ($lastpage < 7 + ($adjacents * 2)) 
{ 
for ($counter = 1; $counter <= $lastpage; $counter++) 
{ 
if ($counter == $pg) 
    $pagination.= "<span class='current'>$counter</span>"; 
else 
    $pagination.= "<a href='".$path."pg=$counter'>$counter</a>";     
} 
} 
elseif($lastpage > 5 + ($adjacents * 2)) 
{ 
if($pg < 1 + ($adjacents * 2))  
{ 
for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++) 
{ 
if ($counter == $pg) 
    $pagination.= "<span class='current'>$counter</span>"; 
else 
    $pagination.= "<a href='".$path."pg=$counter'>$counter</a>";     
} 
    $pagination.= "..."; 
    $pagination.= "<a href='".$path."pg=$lpm1'>$lpm1</a>"; 
    $pagination.= "<a href='".$path."pg=$lastpage'>$lastpage</a>";  
} 
elseif($lastpage - ($adjacents * 2) > $pg && $pg > ($adjacents * 2)) 
{ 
    $pagination.= "<a href='".$path."pg=1'>1</a>"; 
    $pagination.= "<a href='".$path."pg=2'>2</a>"; 
    $pagination.= "..."; 
for ($counter = $pg - $adjacents; $counter <= $pg + $adjacents; $counter++) 
{ 
if ($counter == $pg) 
    $pagination.= "<span class='current'>$counter</span>"; 
else 
    $pagination.= "<a href='".$path."pg=$counter'>$counter</a>";     
} 
    $pagination.= ".."; 
    $pagination.= "<a href='".$path."pg=$lpm1'>$lpm1</a>"; 
    $pagination.= "<a href='".$path."pg=$lastpage'>$lastpage</a>";  
} 
else 
{ 
    $pagination.= "<a href='".$path."pg=1'>1</a>"; 
    $pagination.= "<a href='".$path."pg=2'>2</a>"; 
    $pagination.= ".."; 
for ($counter = $lastpage - (2 + ($adjacents * 2)); $counter <= $lastpage; $counter++) 
{ 
if ($counter == $pg) 
    $pagination.= "<span class='current'>$counter</span>"; 
else 
    $pagination.= "<a href='".$path."pg=$counter'>$counter</a>";     
} 
} 
} 

if ($pg < $counter - 1) 
    $pagination.= "<a href='".$path."pg=$next'>Sonraki »</a>"; 
else 
    $pagination.= "<span class='disabled'>Sonraki »</span>"; 
    $pagination.= "</div>\n";  
} 


return $pagination; 
} 

답변

0

난 당신이 pg 변수를 얻을 리디렉션에 추가되어 무엇을해야하는지 생각합니다. header 명령 앞에 다음 행을 추가하십시오. 합니다 (is_numeric() 검사는 보안을위한 것입니다.)

if (is_numeric($_GET["pg"])) 
    $page = "&pg=".$_GET["pg"]; 
else 
    $page = null; 

header("Location: index.php?page=categories$page"); 

올드 답 :

당신은 매김 솔루션을 찾고 계십니까? 이미 몇 가지가 있습니다. 관련 질문 :

More on SO

+0

안녕 페카; 스크립트에 페이지 매기기가 있습니다. Expamle : 임 P-numbmer에서 = 2 : index.php를 페이지 = 범주 및 페이지는 = 2 내가 활성이 페이지에있는 항목 원하는 : 나는 "업데이트"후 원하는 Active 을을 index.php로 돌아갑니다 ? page = categories & pg = 2 (동적으로 같은 페이지). 헤더 위치를 편집해야합니다. 어떻게해야합니까? –

+0

@ jasmine 답변을 업데이트했습니다. –

+0

자사을 index.php로 리디렉션 페이지 = 범주 아직 :(내 말에 –

관련 문제