ID、質問、日付などの列を持つテーブルがデータベースにあります。 dbテーブルから質問と日付を出力し、テキストエリアで回答するphpページ(1.php)です。 submitをクリックすると、別のPHPページ(2.php)にリダイレクトされます。ここでは、入力された回答をdbの別のテーブルに格納することになっています。昔質問されたクエリのIDを取得して別のテーブルに投稿する方法?
ここで私の問題は、質問と一緒にデータベース内の2番目のテーブルに回答を追加することができます。
1.PHPスクリプトとして次の::
<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++;
?>
<div id="q">
<?php echo $row["question"]; ?> </B>
<?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">'; // I dont think openning form from row to row would be nice!
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>';
?>
<small><p><?php echo $row["date"]; ?></p></small>
2.PHPスクリプトを次のように::
<?php include('1.php'); ?>
<?php
$servername = "localhost";
$dbusername = "root";
$dbpassword = "******";
$dbname = "the_database";
$addtext = $_POST['addtext'];
$date = date_default_timezone_set('Asia/Kolkata');
$date = date('d/m/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 (answer, date)
VALUES ('$addtext', '$date')";
if ($conn->query($sql) === TRUE) {
echo '<script language="javascript">';
echo 'alert("Your Answer has been Succesfully posted")';
echo '</script>';
echo '<a href="answer.php"></a>';
}
else {
echo "ERROR" . $sql . "<br>" . $conn->error;
}
$conn->close();
?>
回答と日付が正常にdbテーブルに保存されているが、question_IDを得ることに捕まってしまいました。..
大変助かりました。
$qid = $_POST['questionid']; //get the question id and insert in the table
あなたのコードフォーマットしてください私は何を含めるべきである – e4c5
ページ2.phpに
1.php上: –
私が言ったことは、他に何も入れないようにあなたのコードをフォーマットすることでした。 – e4c5