这个分页有什么问题?

时间:2014-02-24 12:46:18

标签: php mysql

这段代码有什么问题?当我点击'下一步'按钮它显示空白页并打破了我的网页设计?我一整天都想弄明白,但没有运气。

            <?php
        if(isset($_GET['joke_id'])){
            $joke_id = $_GET['joke_id'];
            $qry = "SELECT * FROM joke WHERE joke_cat = '$joke_id'";
            $result = mysqli_query($con, $qry) or die("Query failed: " . mysqli_errno($con));

            $line = mysqli_fetch_array($result, MYSQL_BOTH);
            if (!$line) echo '';
            $previd = -1;
            $currid = $line[0];
            if (isset($_GET['id'])) {
                $previous_ids = array();
                do {
                    $previous_ids[] = $line[0];
                    $currid = $line[0];
                    if ($currid == $_GET['id']) break;
                    $previd = end($previous_ids);
                    $line = mysqli_fetch_array($result, MYSQL_BOTH);
                } while ($line);
            }

            if ($line) {
                echo "<div id=\"box\">";
                echo nl2br($line['text']) . "<br /><br />";
                echo "</div>";
            }
            else echo 'Is empty<br/>'; **<------ HERE**


            if ($previd > -1)
                echo '<a href="cat_vic.php?cat_id='.$joke_id.'?id='.$previd.'" class="prev_pic"><span>Prev</span></a>';
            echo str_repeat('&nbsp;', 5);

            $line = mysqli_fetch_array($result, MYSQL_BOTH);

            $query = "select * from joke WHERE joke_cat = '$joke_id' order by RAND() LIMIT 1";
            $result = mysqli_query($con, $query) or die("Query failed: " . mysqli_errno($con));
            while ($row = mysqli_fetch_array($result, MYSQL_BOTH)){
                echo '<a href="cat_vic.php?cat_id='.$joke_id.'?id='.$row['id'].'"class="random">Random</a>';
            }
            echo str_repeat('&nbsp;', 5);
            if ($line) echo '<a href="cat_vic.php?cat_id='.$joke_id.'?id='.$line[0].'" class="next_pic"><span>Next</span></a><br /><br />';
            echo "</div>\r";
        }
        ?>

同样在else echo 'Is empty<br/>';行上,如果有什么事情并不重要......总是会让我感到空虚&#39; ..

更新: 数据库是: 笑话

id
text
date
joke_cat

cat_joke

joke_id
joke_name

2 个答案:

答案 0 :(得分:1)

更改此行:

echo '<a href="cat_vic.php?cat_id='.$joke_id.'?id='.$row['id'].'"class="random">Random</a>';
在cat_id ='。$ joke_id之后

要:不是。你需要改变&amp;

echo '<a href="cat_vic.php?cat_id='.$joke_id.'&id='.$row['id'].'"class="random">Random</a>';

注意:也会改变next和prev代码......

答案 1 :(得分:0)

您对$line的最后一次转让是null。因此,您应该检查if而不是$line,但$previous_ids[]$currid或其他人。