我正在努力建立一个问题& Answeer类型的网站,比如Stack Overflow,但更简单。我想知道我怎么能够为用户提出的特定问题生成URL(页面)?
我是否将URL直接存储到我的数据库中?我正在使用PHP和MySQL构建它。
答案 0 :(得分:0)
您需要在数据库中存储帖子标识符,并使用它来匹配URL。因此,您的帖子网址应包含标识符:http://example.org/posts/<post-identifier-here>
答案 1 :(得分:0)
您需要在问题表上创建一个唯一的密钥。
CREATE TABLE questions (
id integer auto_increment primary key
,title varchar(100) not null
-- ...
-- yours table fields
-- ...
)
或者使用id键等主键来选择你的问题。
我认为网址与下一个网址非常相似:
http://www.yourdomain.com/questions.php?q=1002
当你列出你的问题链接时,请在循环php中尝试这个:
<a href="http://www.yourdomain.com/questions.php?q=<?=$question_info['id']?>">
<?=$question_info['title']?>
</a>
当您选择问题时,您需要获得一个网址参数。比如像这样的$ _GET vars:
<?php
$mysqli = new('server','user','pass','bd_name');
$question_id = $_GET['q'];
$query="SELECT * FROM questions WHERE id='$question_id'";
//now you can launch the query to mysql
$result = $mysqli->query($query);
//get the rows array
$question_info = $result->fetch_array();
//your implementation
//.....
?>
此外,您还可以使用$ _POST vars使用唯一键为问题添加评论。
这是一个简单的答案,但是这个方法存在一个很大的安全问题,因为你需要清理$ _GET变量来防止SQL注入,但现在这不是问题。