English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Questo esempio mostra come implementare la funzione del precedente e del successivo pagina in PHP. Condividiamo con tutti per riferimento, come segue:
Riassunto delle idee:
Ora molte persone usano l'aumento e la diminuzione di id per implementare il prossimo e il precedente articolo, ma non potrebbe essere che l'ID degli articoli si rompa? Quindi devi sapere quanto è il precedente ID e il prossimo ID è sufficiente.
Come risolvere questo problema? È molto semplice!
Esempio:
Supponiamo che l'ID dell'articolo sia 200
<a href="?action=up&id=200">Articolo precedente</a> <a href="?action=down&id=200">Prossimo articolo</a>
Se si desidera implementare l'articolo precedente, scrivere la funzione nella pagina action=up
$id= $_GET['id']; //Articolo precedente: $sql= select * from article where id < '.$id.' order by id desc limit 0,1'; $rs= mysql_query($sql); $row= mysql_fetch_array ($rs); //Prossimo articolo: $sql= select * from article where id < '.$id.' order by id asc limit 0,1'; $rs= mysql_query($sql); $row= mysql_fetch_array ($rs);
原理,查询比当前ID小(where id < '.$id.'上一篇文章)和比当前ID大(where id > '.$id.'下一篇文章)的1条(limit 0,1)数据,并按降序(desc,上一篇文章)和升序(asc,下一篇文章)显示出来,当只取一篇的时候,可以省略降序或升序。
具体实现代码:注需要传递参数
前台在上一篇文章,下一篇文章处调用:
<?php echo GetPreNext(pre,news,$_REQUEST[catid],$_REQUEST[id]);?> //显示上一篇文章下一篇文章 function GetPreNext($gtype,$table,$catid,$id){ $preR=mysql_fetch_array(mysql_query("select * from ".$table." where catid=".$catid." and id<$id order by id desc limit 0,1"));//id比传入id小的最近一条 $nextR=mysql_fetch_array(mysql_query("select * from ".$table." where catid=".$catid." and id>$id order by id asc limit 0,1"));//id比传入id大的最近一条 $next = (is_array($nextR) ? " where id={$nextR['id']} " : ' where 1>2 '); $pre = (is_array($preR) ? " where id={$preR['id']} " : ' where 1>2 '); $query = "Select * from ".$table." "; $nextRow =mysql_query($query.$next); $preRow = mysql_query($query.$pre); if($PreNext=mysql_fetch_array($preRow)) { echo $PreNext['pre'] = "Articolo precedente: <a href='newsshow.php?id=".$preR['id']."&&catid=".$catid."'>".$PreNext['title']."</a> "; {} else { echo $PreNext['pre'] = "Articolo precedente: Nessuno "; {} if($PreNext=mysql_fetch_array($nextRow)) { echo $PreNext['next'] = "Prossimo articolo: <a href='newsshow.php?id=".$nextR['id']."&&catid=".$catid."'>".$PreNext['title']."</a> "; {} else { echo $PreNext['next'] = "Prossimo articolo: Nessuno "; {} {}
Il codice è stato testato e funziona correttamente
I lettori interessati a contenuti relativi a PHP possono consultare le sezioni speciali del nostro sito: 'Riassunto delle tecniche di operazioni dei database comuni PHP', 'Manuale completo delle tecniche di operazioni degli array PHP', 'Riassunto delle algoritmi di ordinamento PHP', 'Riassunto delle tecniche di scansione e trucchi PHP', 'Tutorial di strutture dati e algoritmi PHP', 'Riassunto delle tecniche di progettazione di algoritmi PHP', 'Riassunto delle tecniche di calcolo matematico PHP', 'Riassunto delle tecniche di espressioni regolari PHP', 'Riassunto delle tecniche di operazioni e operatori PHP' e 'Riassunto delle tecniche di utilizzo delle stringhe PHP'.
Spero che questo articolo possa essere utile per la progettazione di programmi PHP di tutti.
Dichiarazione: il contenuto di questo articolo è stato tratto da Internet, di proprietà del rispettivo autore. Il contenuto è stato contribuito e caricato autonomamente dagli utenti di Internet, il sito web non detiene i diritti di proprietà, non è stato editato manualmente e non assume alcuna responsabilità legale correlata. Se trovi contenuti sospetti di violazione del copyright, ti preghiamo di inviare una email a: notice#oldtoolbag.com (al momento dell'invio dell'email, sostituisci # con @) per segnalare il problema e fornire prove pertinenti. Una volta verificata, il sito web eliminerà immediatamente il contenuto sospetto di violazione del copyright.