0

以下の次の記事のURLリンクにどのphpコードを追加する必要ありますか?これにより、次の記事が後でエコーバックされますか?

記事を次々とエコーバックするつもりです。

ありがとうございました!

(form.php)

<form action="process.php" method="get">
    Group:
    <select name="group">
        <option value="group1">Group1</option>
        <option value="group2">Group2</option>
    </select>

    Chapter:
    <input type="text" name="chapter">

    Article:
    <input type="text" name="article">

    <input type="submit" value="Go to Article">    

</form>

(process.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)",
                                ),

       )
       );

$grp= $_GET['group'];
$chap = $_GET['chapter'];
$art = $_GET['article'];

if(isset($laws[$grp]) && isset($laws[$grp][$chap]) && isset($laws[$grp][$chap][$art])){
$_SESSION['group'] = $grp;
$_SESSION['chapter'] = $chap;
$_SESSION['article'] = $art;    
}else{
$_SESSION['group'] = 'group1';
$_SESSION['chapter'] = '1';
$_SESSION['article'] = '1';   
}

$group = $_SESSION['group'];
$chapter = $_SESSION['chapter'];
$article = $_SESSION['article'];


echo $laws[$group][$chapter][$article]; // ALL NEXT ARTICLES TO BE ECHOED HERE!!!!!

?>

<a href="process.php" style="text-decoration: none;">NEXT ARTICLE</a>
4

2 に答える 2

0

次の記事が不明で、エラーのように見えるものがあります (私のコメントを参照してください)

リンクが記事をロードするようにコードを更新しました (ただし、次の記事ではない可能性があります)。おそらく、これは少なくとも答えを見つけるのに役立つでしょう...

    <?php

    // $_GET['group'] receives a string
    // $_GET['chapter'] receives a number
    // $_GET['article'] receives a number


    $_SESSION['group'] = $_GET['group'];
    $_SESSION['chapter'] = $_GET['chapter'];

        // this line here doesn't really make sense....
        //$_SESSION['article' = $_GET['article']];  
        //so perhaps you mean:
        $_SESSION['article'] = $_GET['article'];  

        $group = $_SESSION['group'];
        $chapter = $_SESSION['chapter'];
        $article = $_SESSION['article'];


        echo $group . " " . $chapter . " " . $article . "<br/>";

        $group_num = preg_replace("[^0-9]","",$group); //get the number of the group by removing everying in the string `$group` that is not a number (leaving just the number)

        $next_article_data = array();
        if(isset($laws[$group][$chapter][$article+1])){
             $next_article_data['group'] = $group;
             $next_article_data['chapter'] = $chapter;
             $next_article_data['article'] = $article+1;
        }else if(isset($laws[$group][$chapter+1][1])){
             $next_article_data['group'] = $group;
             $next_article_data['chapter'] = $chapter+1;
             $next_article_data['article'] = 1;
        else if (isset($laws["group".($group_num+1)][1][1])){
             $next_article_data['group'] = "group".($group_num+1);
             $next_article_data['chapter'] = 1;
             $next_article_data['article'] = 1;
        else
            echo "NO NEXT ARTICLE!";


        ?>

        <a href="process.php<?php 

        //I added this to pass article info in the url
        echo "?".http_build_query($next_article_data); 
        ?>" style="text-decoration: none;">NEXT ARTICLE</a>
于 2013-02-16T00:08:01.667 に答える
0

先に進むことはあまりありませんが、それが$_GET['article']記事番号であると仮定すると、それを 1 だけ増やします (記事が連続していると仮定します):

<a href="process.php?article=<?php echo (int)$_GET['article'] + 1; ?>" style="text-decoration: none;">NEXT ARTICLE</a>
于 2013-02-16T00:10:47.553 に答える