2016-09-04 1 views
0

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 
+0

あなたのコードフォーマットしてください私は何を含めるべきである – e4c5

+0

ページ2.phpに

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 '<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>'; 

1.php上: –

+0

私が言ったことは、他に何も入れないようにあなたのコードをフォーマットすることでした。 – e4c5

答えて

1

は隠しフィールドを追加しますか?
+0

私はまさにあなたが人に言ったことをしました..しかし、それはまだquestion_id列に '0'を表示しています...私はすべてをダブルチェックしました..私はそれを実行したとき、出力ページは " "そのように、つまり、PHP 2がうまくいきます。しかし、php 1スクリプトがid値を取得していないと思います..... –

+0

ループ内の正しいquestionidを取得しているかどうか確認してください。 – Ish

+0

私は申し訳ありません約 –

関連する問題