如何在链接中设置参数?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在链接中设置参数?相关的知识,希望对你有一定的参考价值。

我从数据库中查询到我正在研究的论坛。由于某些原因,我无法获得ID出现在链接中。我一直在想弄清楚我的大脑。它可以在除此页面之外的所有其他页面上使用。这是我正在使用的代码:

$topicsql = "SELECT topic_id,topic_subject,topic_date,topic_cat FROM topics
            WHERE topic_cat = " . $row['cat_id'] . "
            ORDER BY topic_date DESC LIMIT 1";

$topicsresult = mysqli_query($con, $topicsql);

if(!$topicsresult)
{
    echo 'Last topic could not be displayed.';
}
else
{
    if(mysqli_num_rows($topicsresult) == 0)
    {
        echo 'no topics yet';
    }
    else
    {

        while($topicrow = mysqli_fetch_assoc($topicsresult))
        //Limit the number of characters in the latest topic link
        $subject=   substr($topicrow['topic_subject'], 0, 25);
        $topic=$topicrow['id'];


        echo '<a href="topic.php?id=' . $topicrow['topic_id'] . '">' . $subject . '&hellip;</a><br> on ' . date('m-d-Y', strtotime($topicrow['topic_date']));
 }
}

当您将鼠标悬停在链接上时,我只会得到topic.php?id=,但我应该会看到topic.php?id=24

答案

尝试这种方法:

   $query = "SELECT topic_id,topic_subject,topic_date,topic_cat FROM topics
              WHERE topic_cat = ?
              ORDER BY topic_date DESC LIMIT 1";
    if ($stmt = mysqli_prepare($con, $query)) {   
        mysqli_stmt_bind_param($stmt,'i', $row['cat_id']);
        /* execute prepared statement */
        mysqli_stmt_execute($stmt);   
        /*bind the result*/
        $stmt->store_result();
        /*Count the rows*/
        if( mysqli_stmt_num_rows($stmt) > 0){
            while($row = mysqli_fetch_assoc($stmt)){
                /*Limit the number of characters in the latest topic link*/
                $link = '<a href="topic.php?id=' . $row['topic_id'] . '">';
                $link .= substr($row['topic_subject'], 0, 25) . '&hellip;</a><br>';
                $link .= 'on '.date('m-d-Y', strtotime($row['topic_date']));
                echo $link;
            }
        }else{
            echo 'Last topic could not be displayed.';
        }   
        /* close statement */
        mysqli_stmt_close($stmt);
    }else{
        printf("Errormessage: %s
", mysqli_error($con));
    }

由于正在创建链接,这意味着您的查询找到了行,如果看到id为空,则表明列名不匹配。

[这时您只能说,我的建议是像上面那样重写代码,我只想指出准备语句,命名变量,减少数量变量,缩进,吃蔬菜的最佳实践...。所有这些都将帮助您避免错误,就像代码中令人困惑的部分一样:

首先查询:

SELECT topic_id ...

然后检索时:

$topic=$topicrow['id'];

打印查询:

echo '<a href="topic.php?id=' . $topicrow['topic_id'] 

因此,请仔细阅读代码,并注意细节。

以上是关于如何在链接中设置参数?的主要内容,如果未能解决你的问题,请参考以下文章

如何在链接中设置参数?

如何在android的片段中设置应用程序上下文?

如何在 ADF 中设置滚动条位置

如何在选项卡式活动中设置片段从右到左开始

如何在运行时在由 android studio 创建的导航抽屉中设置默认片段

在片段中设置文本颜色