下面的 nest.php 页面包含一个多维数组 $ laws ,它包含带章节的组法律包含多篇文章。
我已经将上一篇文章和 NEXT Article 动态网址链接按顺序回显一篇文章。
但是,我应该在这些(2)网址中添加什么PHP代码,以便在特定章节的最后一篇文章得到回应时跳到下一章?
<?php
session_start();
$laws=array(
"group1"=>array(
"1"=>array(
"1"=>"This is article (1) in chapter (1) of (group1)",
"2"=>"This is article (2) in chapter (1) of (group1)",
"3"=>"This is article (3) in chapter (1) of (group1)",
),
"2"=>array(
"1"=>"This is article (1) in chapter (2) of (group1)",
"2"=>"This is article (2) in chapter (2) of (group1)",
"3"=>"This is article (3) in chapter (2) of (group1)",
),
),
"group2"=>array(
"1"=>array(
"1"=>"This is article (1) in chapter (1) of (group2)",
"2"=>"This is article (2) in chapter (1) of (group2)",
"3"=>"This is article (3) in chapter (1) of (group2)",
),
"2"=>array(
"1"=>"This is article (1) in chapter (2) of (group2)",
"2"=>"This is article (2) in chapter (2) of (group2)",
"3"=>"This is article (3) in chapter (2) of (group2)",
),
)
);
if(isset($_GET['group']) && isset($_GET['chapter']) && isset($_GET['article'])){
$grp = $_GET['group'];
$chap = $_GET['chapter'];
$art = $_GET['article'];
}else{
$grp = 'group1';
$chap = '1';
$art = '1';
}
if(isset($laws[$grp][$chap][$art])){
$_SESSION['group'] = $grp;
$_SESSION['chapter'] = $chap;
$_SESSION['article'] = $art;
}
$group = $_SESSION['group'];
$chapter = $_SESSION['chapter'];
$article = $_SESSION['article'];
$previousarticle = $_SESSION['article'];
echo $laws[$group][$chapter][$article]; // ALL ARTICLES TO BE ECHOED HERE!!!!!
echo '<br/>';
?>
<!-------------- PREVIOUS Article and NEXT Article URLS ------------------->
<a href="nest.php?group=<?php echo $group; ?>&chapter=<?php echo $chapter; ?>&article=<?php echo --$previousarticle ; ?>" style="text-decoration: none;">PREVIOUS ARTICLE</a>
<br/>
<a href="nest.php?group=<?php echo $group; ?>&chapter=<?php echo $chapter; ?>&article=<?php echo ++$article ; ?>" style="text-decoration: none;">NEXT ARTICLE</a>
答案 0 :(得分:0)
您可以在链接之前再添加一个条件,如下所示
<!-------------- PREVIOUS Article and NEXT Article URLS ------------------->
<?php
$prvartcle = $previousarticle -1 ;
if(!empty($laws[$group][$chapter][$prvartcle])) {?>
<a href="test1.php?group=<?php echo $group; ?>&chapter=<?php echo $chapter; ?>&article=<?php echo --$previousarticle ; ?>" style="text-decoration: none;">PREVIOUS ARTICLE</a>
<?php } ?>
<br/>
<?php
$nextart = $article+1;
if(!empty($laws[$group][$chapter][$nextart])) {?>
<a href="test1.php?group=<?php echo $group; ?>&chapter=<?php echo $chapter; ?>&article=<?php echo ++$article ; ?>" style="text-decoration: none;">NEXT ARTICLE</a>
<?php } ?>
答案 1 :(得分:0)
所有必要的评论都写在必要的地方......
<?php
$no_of_groups = count($laws);
// counting number of groups in laws
/* check if there is any selected by any user or by link. If there is nothing selected, do select first group in laws automatically */
if (isset($_GET['group']) and !empty($_GET['group'])) {
$fgroup = $_GET['group'];
} else {
$fgroup = $laws[0]; // selects first group in laws
}
/* check if there is any article selected by user or by link. If there is nothing selected, do select first article in a group automatically */
if (isset($_GET['article']) and !empty($_GET['article'])) {
$farticle = $_GET['article'];
} else {
$farticle = $fgroup[0]; // selects first article in a group
}
$no_of_article_in_this_group = count($farticle);
// counting number of article in selected or default group
/* Now, we are checking if there is chapters selected by user or by link. If there is nothing selected, do select first chapter in an article */
if (isset($_GET['chap']) and !empty($_GET['chap'])) {
$fchap = $_GET['chap'];
} else {
$fchap = $farticle[0]; // selects first chapter in an article
}
$no_of_chapters_in_this_article = count($fchap);
// counting number of chapter in selected article or default article
$page_url = "nest.php";
/* We are checking, is there is next chapter available in an article, if yes then move to next chapter in an array else we will be current chapter */
if (!empty(next($fchap))) {
$nxt_chapter = next($fchap);
} else {
$nxt_chapter = current($fchap);
}
/* We are checking, is there is previous chapter available in an article, if yes then move to previous chapter in an array else we will be current chapter */
if (!empty(prev($fchap))) {
$prv_chapter = prev($fchap);
} else {
$prv_chapter = current($fchap);
}
// Below, making next and prev links ready to use
$page_next_url = $page_url . "?group=$fgroup&article=$farticle&chap=$nxt_chapter";
$page_prev_url = $page_url . "?group=$fgroup&article=$farticle&chap=$prv_chapter";
?>
如果您需要更多信息,请告诉我