0

したがって、これはこのプロジェクト全体に対する私の最後の質問です。社員のタイムカードのページを作りました。よく働く。タイムカードごとのレビュー/変更ページにしようとしています。基本的に、最初のレビュー ページには、提出されたタイムカードが表示されます。彼らはレビューを選択します。それは ID 番号をレビュー ページに運びます。ID 番号を呼び出して、そのタイムカードのすべての情報を新しいタイムカード html/php フォームに表示します。(基本的には、送信に使用したものとまったく同じフォームですが、オプションとして値をエコーし​​ました)

更新すると、エコーされた値が引き継がれるだけではありません。彼らが行った変更を更新するだけで、実際には他のすべてを削除しています。以下は、ドロップダウン リストを 1 つだけ抜粋したものです (ドロップダウン以外のすべての更新は問題ありません。これは、データが DB に含まれるドロップダウン リスト用です。

 <select name="starttime" id="input_6" style="width:150px">
            <option value="" selected><?php echo $stime ?></option>
          <?php

                $result = mysql_query("SELECT time FROM selTime ORDER BY id");

                 while($row = mysql_fetch_array($result)) {

                 echo "<option value=\"" . $row['time'] . "\">" . $row['time'] . "                                              </option>";

                }

             ?>
      </select>

では、このコードで何が起こるでしょうか。レビューページを開いたときです。送信した開始時刻が表示されます。彼らがそれをそのままにして、何も変更せず、何かを変更した後に送信を押した場合。starttime は実際には空白として更新されます。starttime を値に変更すると、変更が送信されます。このコードには、表示するだけでなく、エコーされた値を送信するように変更できるものがありますか?

4

2 に答える 2

2

問題は次のコード行にあると思います。

<option value="" selected><?php echo $stime ?></option>

「選択済み」として設定しましたが、選択した要素の値は「」(空)です。次のように変更してみてください。

<option value="<?php echo $stime; ?>" selected="selected"><?php echo $stime; ?></option>
于 2012-09-07T14:04:47.620 に答える
0

この選択リスト項目を変更せずにページを直接送信すると、選択された項目は value="" を持つ最初の項目になるため、データベースでは空白 (null) で更新されます。

ここで、最初のアイテムに日時の値を指定する必要があります。このコードは次のとおりです。

 <option value="DATETINMENOW" selected><?php echo $stime ?></option>
于 2012-09-07T14:02:53.760 に答える