0

Table 1 と Table 2 の 2 つのテーブルがあります。

私が期待するのは、以下の形式です。
必要な形式

Table 1    
   ID   Title   S_ID    
   1    Option1   2    
   2    Option2   2    
   3    Option3   1  

Table 2       
   S_ID  SNAME    
   1     Name1    
   2     Name2    
   3     Name3    

しかし、Table1のnull値を取得しています。S_ID

Table 1    
   ID   Title   S_ID    
   1    Option1   NULL    
   2    Option2   NULL    
   3    Option3   NULL

Table 2    
   S_ID  SNAME    
   1     Name1    
   2     Name2    
   3     Name3    

これが私のコードです:

HTML :

<select name=sid>
<option value="select"></option>
<option value="N1">Name1</option>
<option value="N2">Name2</option>
<option value="N3">Name3</option>
</select>    

Insert.php

$title=$_POST['title'];
$sid=$_POST['S_ID'];    
$insertquery="INSERT INTO review (title) VALUES('$title')";    

必要なのは、ドロップダウンから任意の名前を選択するとid、上記の必要な形式に示すように、表 2 の名前が表 1 に格納され、特定の名前をクリックすると、それぞれの名前の下にあるタイトルが取得されることです。

必要なコードを書いて助けてください。ありがとうございました。

4

1 に答える 1

0

私見あなたのINSERTステートメントは次のようになります。

$insertquery = "INSERT INTO review (title, S_ID) VALUES('$title', '$sid')";

また、入力のサニタイズと準備済みステートメントの使用を検討する必要があります。

アップデート:

select表 2 のオプションを使用して (および を使用すると仮定するとmysqli)、次のようなことができます。

<?php

$db = new mysqli("host", "user", "password", "db");

$qry = "SELECT * FROM Table2";
$result = $db->query($qry);
echo "<select name=\"S_ID\">";
echo "<option value=\"select\" selected=\"selected\">Select a name</option>";
while ($row = $result->fetch_array(MYSQL_ASSOC)) {
    echo "<option value=\"" . $row['S_ID'] . "\">" . $row['SNAME'] . "</option>";
}
echo '</select>';
$result->close();
$db->close();

?>

簡潔さと単純さのために、チェックはありません。

于 2013-01-15T08:25:25.310 に答える