php - 如何为用户发布的问题提供唯一的 url/id?

标签 php mysql

有一个名为 discussion.php 的表单,用户将在其中填写他/她的问题/讨论并将其发布 savedisc.php 。一些 savedisc.php 看起来像这样:

$message = $_POST['message'];
$title = $_POST['title'];
$represents = $_POST['represents'];

//connect to database

//save the content of discussion/question into the database for future use
$sql="INSERT INTO Discussion (Message, Title, Type)
VALUES
('$message','$title','$represents')";

//Display user's question/discussion again
echo $message . "<br />";
echo $title . "<br />";
echo $represents . "<br />";

上面没有显示,但我手动保存 id 字段,即通过 phpmyadmin 当然作为自动增量和主键。因此,Discussion 表中的所有值都将拥有自己唯一的 id。保存问题/讨论后,我希望能够将 wb.php 上每个问题的 $title 显示为链接,目前看起来像这样(来自 wb.php 的一些代码):

$result = mysql_query("SELECT * FROM Discussion ORDER BY id DESC");

//When user clicks the question/discussion Title, he/she will be directed to wbcomm.php
while($row = mysql_fetch_array($result))
  {
  echo "<a href='wbcomm.php' >{$row['Title']}</a><br />";
  }

到目前为止,一切都很顺利。但是,从现在开始,我想做的是,当用户通过上面的代码单击问题/讨论标题时,我希望他/她被定向到 wbcomm.php?id=1,其中 id=1 表示问题/讨论的唯一 ID。 wbcomm.php 中的一些代码如下:

if (isset($_GET['id']))
{
//connect to db

$wbid  = mysql_real_escape_string($_GET['id']);
    $sql = "SELECT * FROM Discussion WHERE id = '$wbid' LIMIT 1";
    $res = mysql_query($sql);
    if (mysql_num_rows() > 0) {
        $discussion = mysql_fetch_object($res);
        //display member's question here:
  echo $discussion['id'] . "<br />";
  echo $discussion['Title'] . "<br />";
  echo $discussion['Type'] . "<br />";
  echo $discussion['Message'] . "<br />";
    }
    else {
        // discussion does not exist with ID
    }
}

但是,由于某种原因,结果是空白的。 IE。问题/讨论甚至没有出现。我究竟做错了什么?我的程序正确吗?

谢谢。

最佳答案

在您的 wb.php 中,您创建了一个指向 wbcomm.php 的链接,但您没有传递讨论的 ID,因此您的 $wbid 将为空。您需要将 ID 与链接一起传递,如下所示:

while($row = mysql_fetch_array($result))
  {
  echo "<a href='wbcomm.php?id={$row['id']}' >{$row['Title']}</a><br />";
  }

关于php - 如何为用户发布的问题提供唯一的 url/id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3409044/

相关文章:

php - 使用 PHP 和 MySQL - 需要良好且安全的 OO 设计

php - 在 mysql/phpmyadmin 中设置计时器?

php - 如何将 Laravel rest Api 日志保存到数据库中

php - 我可以在 PHP 中混合使用 MySQL API 吗?

javascript - 使用 PHP 检测用户的 Web 浏览器并要求使用以下命令打开它

Mysql Workbench Mac OS 缺少管理工具和数据导入/导出

mysql - opensips添加用户错误

MySQL查询获取不正确的数据

php - Zend PDF写入html代码来代替文本

php_network_getaddress 错误