0

こんにちは、私はphpとmysqlに取り組んでいます。

あるテーブルのデータにアクセスし、選択時にそのデータを別のテーブルに挿入するフォームがあります。しかし、私の主な制約は、データ値の代わりに選択されたデータ ID が保存されていることです。

データ ID の代わりにデータ値を取得する方法を教えてください。

以下はサンプルコードです。

<td>Status:</td>
                    <td>   <select name="status" id="status">
          <?php $svar = mysql_query("select * from status");
          while($sresult = mysql_fetch_array($svar)){ ?>
          <option value="<?php echo $sresult['id']; ?>" <?php if($sresult['id']==$row['status']){ echo "selected"; }?> /><?php  echo $sresult['status']; ?></option>
          <?php } ?>
                        </select> </td>

今、次のクエリを使用して、上記のフォームから別のデータベースにデータを挿入しています。

$sql="INSERT INTO Createticket (......,status) VALUES(..........,'$status')";
4

2 に答える 2

0

あなたは 100% のチェックに役立つコードのかなりの部分を省略しましたが、私はあなたが何をしようとしているのかについて知識に基づいた推測を行うことができると思います.

選択ボックスの値を値ではなくIDとして設定しているためです....

この行を変更します。

<option value="<?php echo $sresult['id']; ?>" <?php if($sresult['id']==$row['status']){ echo "selected"; }?> /><?php  echo $sresult['status']; ?></option>

に:

<option value="<?php echo $sresult['status']; ?>" <?php if($sresult['id']==$row['status']){ echo "selected"; }?> /><?php  echo $sresult['status']; ?></option>

そうすれば、フォームを投稿すると、$result の id 値ではなく status 値として、フィールド 'status' の値が投稿されます。

于 2013-06-14T09:55:44.890 に答える
0

オプション フィールドに割り当てる値は $sresult['id'] であるため、同じ ID が 2 番目のテーブルに格納され、ステータスが設定されます。

を交換してください

    value = " <?php echo $sresult['id'] ?> " 

提出されたオプションで

    value = " <?php echo $sresult['status'] ?> "
于 2013-06-14T10:06:25.990 に答える