PHP で生成された SELECT リストを使用してテーブルに行を挿入する際に問題が発生しています。
ページには「?orgid=#」$_GET 変数があり、$orgid を設定します。
//set variables
$orgid = $_GET['orgid'];
次に、ページは、SELECT リストの OPTIONS を設定する適切なクエリを実行します。
//select info from members table
$usrqry = 'SELECT * FROM members WHERE assign = 1 ORDER BY usr ASC';
$usrres = mysql_query($usrqry);
次に、ページはフォームが $_POST 経由で送信されたかどうかを確認します。
if($_POST['submit']=='Assign') {
$sql = 'INSERT INTO profile (id, usr_id, org_id) VALUES (NULL, '.$_POST['userid'].', '.$orgid.')';
$res = mysql_query($sql);
}
そして、これはページ上のフォームです:
<form action="" method="post">
<label>Select User:</label>
<select name="the_name">
<?php while($row = mysql_fetch_array($usrres)) { ?>
<option name="userid" value="<?=$row['id'];?>"><?=$row['usr'];?></option>
<?php } ?>
<input type="submit" name="submit" value="Assign">
</form>
質問を入力していると、解決策に出くわしました。
元のコード:
<form action="" method="post">
<label>Select User:</label>
<select name="the_name">
<?php while($row = mysql_fetch_array($usrres)) { ?>
<option name="userid" value="<?=$row['id'];?>"><?=$row['usr'];?></option>
<?php } ?>
<input type="submit" name="submit" value="Assign">
</form>
更新されたコード:
<form action="" method="post">
<label>Select User:</label>
<select name="userid">
<?php while($row = mysql_fetch_array($usrres)) { ?>
<option value="<?=$row['id'];?>"><?=$row['usr'];?></option>
<?php } ?>
<input type="submit" name="submit" value="Assign">
</form>