我在数据库中有两个表,输入表和输出表。输入表有两列$ID(自动增量)、$question
。表 2 有两列 $Q_ID, Answer
。
我制作了一个 php 页面 (1),在其中打印了表 1 内容(问题),并添加了一个文本区域以从访问者那里获取答案,同时我还添加了一个回显“隐藏”字段以获取表中的 ID一。
现在这个 php 页面 1 重定向到 php 页面 2,我将输入的文本区域发布到表 2 中的答案列中。但不幸的是,ID 无法发布到表 2 的 q_id 列中... 我尝试了很多但没有希望..
我的 PHP 脚本 #1 如下::
<div class="name">
<?php
$sql = "SELECT * FROM input";
$result = $conn->query($sql);
if ($result->num_rows > 0) {
$index = 0;
while($row = $result->fetch_assoc()) {
$index++; // stuff inside foreach goes here
?>
<div id="q">
<B><big><font color= #ba4a00> Q:</font></big> <?php echo $row["question"]; ?>
<?php
echo '<button class="add" id="add_'.$index.'"><B>Add Answer</B></button>';
echo '<form style="display:none;" name="answer_'.$index.'" method="post" action="output.php">';
echo '<input type="hidden" name="questionid" value="<?php echo $row[id]?>"/>';
echo '<textarea type="text" class="addtext" name="addtext" required id="addtext_'.$index.'" placeholder="Please type your answer here.." ></textarea>';
echo '<button onClick="addsubmit('.$index.');" type="submit" id="addsubmit_'.$index.'" class="addsubmit"><B>Submit</B></button>';
echo '</form>';
?>
</div>
<?php
}
} else {
echo "0 results";
}
$conn->close();
?>
</div>
我的 PHP 脚本 #2 如下::
<?php include('1.php'); ?>
<?php
$servername = "localhost";
$dbusername = "root";
$dbpassword = "*******";
$dbname = "the_database";
$addtext = $_POST['addtext'];
$questionid = $_POST['questionid'];
$date = date_default_timezone_set('Asia/Kolkata');
$date = date('M-d,Y H:i:s');
$conn = new mysqli ($servername, $dbusername, $dbpassword, $dbname);
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
$sql = "INSERT INTO output (question_id, answer, date)
VALUES ('$questionid', '$addtext', '$date')";
if ($conn->query($sql) === TRUE) {
echo '<script language="javascript">';
echo 'alert("Your Answer has been Succesfully posted")';
echo '</script>';
echo '<a href="1.php"></a>';
}
else {
echo "ERROR" . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
我希望将相应的问题 ID 及其答案传递到表 2。
非常感谢任何帮助..
最佳答案
在$row['id']
中给出单引号。更改此<?php echo $row[id] >?
至<?php echo $row['id'] >?
echo '<input type="hidden" name="questionid" value="'. $row['id'].'"/>';
关于php - 将 ID 从一个表发布到另一个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39324123/