以下に更新:
私はコードを少し変更し、少し成功していますが、まだ 1 つのことから外れています。ラインを変えました
<option value="<?php echo $row[brokername]; ?>" <?php if ($row[brokername] == $brokerlistrow[id]) { echo selected; } ?> ><?php echo $brokerlistrow[name]; ?></option>
に
<option value="<?php echo $brokerlistrow[name]; ?>" <?php if ($row[brokername] == $brokerlistrow[id]) { echo selected; } ?> ><?php echo $brokerlistrow[name]; ?></option>
<?php } ?> </select>
これで、正しい選択名が表示され、変更された値が実際にデータベースに保存されますが、名前 ID 番号を保存する代わりに、実際の名前が保存されます。$row の print_r は私に与えます:
配列 ( [0] => 4 [id] => 4 [1] => 6 [ブローカー名] => 6 [2] => キムズ ボート [ボート名] => キムズ ボート)
その選択されたユーザーの正しいbrokerlist.idは6ですが、6をboatlist.nameに保存する代わりに、brokerlist.idの代わりにbrokerlist.nameフィールドを保存します。
物理名ではなく、brokerlist.id を保存するには何を変更すればよいですか? :)
前もって感謝します!
(念のため、新しい編集ページのコードを次に示します。
<?php
include_once('db.php');
if(isset($_GET['edit']))
{
$id = $_GET['edit'];
$res= mysql_query("SELECT * FROM boatlist WHERE id='$id'");
$row= mysql_fetch_array($res);
$brokerlistquery = mysql_query("SELECT * FROM brokerlist");
print_r($row);
}
if( isset($_POST['newbrokername']) && isset($_POST['newboatname']))
{
$newbrokername = $_POST['newbrokername'];
$newboatname = $_POST['newboatname'];
$id= $_POST['id'];
$sql = "UPDATE boatlist SET brokername='$newbrokername', boatname='$newboatname' WHERE id='$id'";
$res= mysql_query($sql) or die("Could not update".mysql_error());
echo "<meta http-equiv='refresh' content='0;url=testaddboat.php'>";
}
?>
<table class="centerwithroom">
<form action="testeditboat.php" method="POST">
<tr>
<td>New Broker Name </td><td>
<select name='newbrokername'>
<?php
while ($brokerlistrow = mysql_fetch_array($brokerlistquery)) {
?>
<option value="<?php echo $brokerlistrow[name]; ?>" <?php if ($row[brokername] == $brokerlistrow[id]) { echo selected; } ?> ><?php echo $brokerlistrow[name]; ?></option>
<?php } ?> </select>
</td>
<tr>
<td>Boat Name:</td><td><input type="text" name="newboatname" value="<?php echo $row[boatname]; ?>"/></td>
</tr>
</tr>
<td></td><td><input type="submit" value=" Update "/></td>
</tr>
<input type="hidden" name="id" value="<?php echo $row[id]; ?>"/>
</form>
</table>
(ORIG POSTはここから始まります)
これは私の最初の投稿であり、可能な限り徹底的にしようとします。これは単なる初歩的な形式であり、セキュリティをまったく追加していません。機能させようとしているだけなので、残りの部分に取り掛かります:)私のコードをプログラミングするのは初めてなので、一部の専門家や私には悪いように見えるかもしれません。あなたが与えることができる例が大好きです。
プロジェクトへ。2 つの mysql テーブルがあり、1 つは id と name の 2 つのフィールドを持つ brokerlist と呼ばれます。2 番目のテーブルは、id、brokername、boatname の 3 つのフィールドを持つ boatlist と呼ばれます。brokername フィールドには、brokerlist.id フィールドの値と、boatname に入力されたテキストが含まれます。
正常に機能している両方のテーブルにデータを追加するための php 追加フォームを作成しました。適切に機能するブローカーリスト テーブルを編集するための php 編集フォームを作成しました。私の問題は、私がtesteditboat.phpと呼んでいるフォームにあります。私がやろうとしているのは、ユーザーがtesteditboat.phpフォームのフィールドbrokernameを変更できるようにすることです.mysqlテーブルbrokerlistからデータを入力するだけでなく、現在のエントリのselect selectedを使用するドロップダウンボックスを使用します.
私のフォームが現在立っている場所は、リクエストを送信し、boatname フィールドの値を変更しますが、brokername フィールドは更新しません。
ご協力いただきありがとうございます。説明が十分になされていることを願っています。
私のtesteditboat.phpフォームのコードは次のとおりです。
<?php
include_once('db.php');
if(isset($_GET['edit']))
{
$id = $_GET['edit'];
$res= mysql_query("SELECT * FROM boatlist WHERE id='$id'");
$row= mysql_fetch_array($res);
$brokerlistquery = mysql_query("SELECT * FROM brokerlist");
}
if( isset($_POST['newbrokername']) && isset($_POST['newboatname']))
{
$newbrokername = $_POST['newbrokername'];
$newboatname = $_POST['newboatname'];
$id= $_POST['id'];
$sql = "UPDATE boatlist SET brokername='$newbrokername', boatname='$newboatname' WHERE id='$id'";
$res= mysql_query($sql) or die("Could not update".mysql_error());
echo "<meta http-equiv='refresh' content='0;url=testaddboat.php'>";
}
?>
<table class="centerwithroom">
<form action="testeditboat.php" method="POST">
<tr>
<td>New Broker Name </td><td>
<select name='newbrokername'>
<?php
while ($brokerlistrow = mysql_fetch_array($brokerlistquery)) {
?>
<option value="<?php echo $row[brokername]; ?>" <?php if ($row[brokername] == $brokerlistrow[id]) { echo selected; } ?> ><?php echo $brokerlistrow[name]; ?></option>
<?php } ?> </select>
</td>
<tr>
<td>Boat Name:</td><td><input type="text" name="newboatname" value="<?php echo $row[boatname]; ?>"/></td>
</tr>
</tr>
<td></td><td><input type="submit" value=" Update "/></td>
</tr>
<input type="hidden" name="id" value="<?php echo $row[id]; ?>"/>
</form>
</table>