我正在开发一个类似于Stack Exchange的在线论坛。我想实现这个功能:
当我有一个问题列表时,如果我点击某个问题,它会将我引导到页面,其中包含有关问题和答案的更多详细信息。但是,当页面被重定向时,最后一个问题ID(主键)被发布。我想发布该特定问题的Question_ID
。
表名:问题 页面名称: question.php
这是我的代码:
<?php function select_project($table)
{
global $dbCon;
$result = mysqli_query($dbCon,"SELECT * FROM questions");
$rows = mysqli_num_rows($result);
if($rows>0)
{
?>
<form action="question_detail.php" method="post" name="qForm">
<?php
while($row = mysqli_fetch_assoc($result))
{
?>
<div class="container">
<fieldset>
<input type="hidden" name="questionid" value="<?php echo $row['Question_ID']; ?>">
<div class="subject">
<script type="text/javascript">
document.write('<a href="question_detail.php" onclick="document.forms[\'qForm\'].submit(); return false;"><?php echo $row['Subject']; ?></a>');
</script>
</div>
<div class="body">
<p><?php echo $row['body']; ?></p>
</div>
</fieldset>
</div>
<?php }
?>
</form>
答案 0 :(得分:1)
您可以通过在url参数中传递问题ID来实现您想要的效果。由于您没有更新或向数据库插入数据但查询数据库,您可以使用$ _GET或$ _REGUEST超全局变量来获取question_detail.php中的id值。
<?php
function select_project($table){
global $dbCon;
$result = mysqli_query($dbCon,"SELECT * FROM $table");
$rows = mysqli_num_rows($result);
if($rows>0){ ?>
<?php while($row = mysqli_fetch_assoc($result)){ ?>
<div class="container">
<div class="subject">
<a href="question_detail.php?q_id=<?php echo $row['Project_ID'];?>">
<?php echo $row['Subject']; ?></a></div>
<div class="body">
<p><?php echo $row['body']; ?></p>
</div>
</div>
<?php } //closing while loop
}//closing if
}//closing function
?>
使用该功能:
select_project($table);
并在question_detail.php
$qid = isset($_GET['q_id'])? $_GET['q_id']:'';
if(!empty($qid)){
//SELECT * FROM questiondetail WHERE question_id='$qid';
}else{
//No question with this id or invalid question id
}