2013-08-22 56 views
0

我有這樣的問題,與下面的PHP代碼:PHP分頁附加ID

$host="localhost"; 
$user_name=""; 
$pwd=""; 
$database_name=""; 

$conexiune = mysql_connect($host,$user_name,$pwd) or die("Nu ma pot conecta la   MySQL!"); 
mysql_select_db($database_name, $conexiune) or die("Nu gasesc baza de date"); 

if (isset($_GET["page"])) { 
    $page = $_GET["page"]; 
} else { 
    $page=1; 
}; 

$start_from = ($page-1) * 1; 
$sql = "SELECT * FROM citate ORDER BY id DESC LIMIT $start_from, 1"; 
$rs_result = mysql_query ($sql,$conexiune); 


while ($row = mysql_fetch_assoc($rs_result)) 
    echo "<img src='" . $row['poza'] . "' /> 
      <br /> 
      " . $row['titlu'] . " 
      <br /> 
      " . $row['descriere'] . " 
      <br /> 
        " . $row['data'] . " 
     "; 

$sql = "SELECT COUNT(id) FROM citate"; 
$rs_result = mysql_query($sql,$conexiune); 
$row = mysql_fetch_row($rs_result); 
$total_records = $row[0]; 
$total_pages = ceil($total_records/1); 

$pagelink ='<a href="lista.php?page='.($page-1).'"><<</a> '; 
$pagelink_2='<a href="lista.php?page='.($page+1).'">>></a> '; 

if($page>1) 
    echo $pagelink; 

if($page<2) 
    echo ""; 

for ($i=1; $i<=$total_pages; $i++) { 
    if ($i != $page) 
     echo "<a href='lista.php?page=".$i."'>".$i."</a> "; // xxxx = your page url address 
    if ($i==$page) 
     echo " <strong>". $i . "</strong> "; // defining class in the style sheet you   can add colour or border to the displayed number 
}; 

if($page<$total_pages) 
    echo $pagelink_2; 

代碼爲我提供分頁(U媒體鏈接知道),以及地址欄ADRESS外觀的類似以下內容:

http://www.site.ro/folder/lista.php?page=PAGE-NUMBER 

我想看起來像以下: http://www.site.ro/folder/lista.php?citat=SOME-NUMBERS&page=PAGE-NUMBER

我的數據庫表的填寫這樣的:

-------------------------------------------------------------- 
    | id | poza | titlu | descriere | citat | data | accesari | 
    -------------------------------------------------------------- 

我想提取「citat」列中的數據,因此,從地址欄鏈接將是這樣的:每次當我按下翻頁布頓時間

http://www.site.ro/folder/lista.php?citat=EXTRACTED-FROM-CITAT&page=PAGE-NUMBER 

,看起來像:

http://www.site.ro/folder/lista.php?citat=2748925&page=1 
    http://www.site.ro/folder/lista.php?citat=2840194&page=2 

等等.. 我該如何修改該代碼? 提前致謝!

+0

是否真的有必要嗎? Afaik最好在URL中使用最少的參數.. –

+1

請注意,mysql_ *函數已被刪除,將來會被刪除。請看看mysqli_ *或PDO – DeiForm

+0

我想解壓citat部分原因 –

回答

1

我忽略了所有的安全問題。

這將工作只要你每頁顯示只有一個項目:

$last_citat = 0; 
while ($row = mysql_fetch_assoc($rs_result)) { 
    echo "<img src='" . $row['poza'] . "' /><br />" . $row['titlu'] . "<br />" . $row['descriere'] . " <br />" . $row['data'] . ""; 
    $last_citat = $row['citat']; 
} 

及更高版本:

$pagelink ='<a href="lista.php?citat='.$last_citat.'&page='.($page-1).'"><<</a> '; 
$pagelink_2='<a href="lista.php?citat='.$last_citat.'&page='.($page+1).'">>></a> '; 

if($page>1) { echo $pagelink; } 
if($page<2) { echo ""; } 

for ($i=1; $i<=$total_pages; $i++) { 
    if ($i != $page) { 
     echo "<a href='lista.php?citat=".$last_citat."&page=".$i."'>".$i."</a> "; 
    } 
    if ($i==$page) { 
     echo " <strong>". $i . "</strong> "; 
    } 
} 
+0

爲你的回答我的兄弟太多了。我會盡力的。投票了 –

+0

這個工作真棒。 Ty再次哥哥! –

0

是否想通過'citat'值過濾數據庫結果?

如果是這樣,那麼你必須建立在它們與GET參數「citat」鏈接,如:

<a href="lista.php?citat=NUMBER&page='.($page-1).'"><<</a> 

,後來採取GET [「citat」],並在SQL查詢中添加它where一部分,所以只有結果具有一定citat值將被退回,如:

$sql = "SELECT * FROM citate WHERE citat = '".GET['citat']."' ORDER BY id DESC LIMIT $start_from, 1"; 

注意:這是不是真實的例子,這是錯誤的使用像記:你必須逃離GET [「citat」],否則你數據庫將被黑客攻擊輕鬆快捷!從while循環citat的

+0

謝謝你的回答我的朋友。我會嘗試。很多。從我投票! –

0

獲得價值:

$citat = $row['citat']; 

然後你可以使用$citat的地方,並且按照自己想要的,檢查在URL中的citat參數,你可以通過做:

if (isset($_GET['citat'])) { 
    //it's there do something 
} else { 
    //it's absent 
}