2012-02-26 2 views
1

私はラジオボックスと2つのドロップダウンメニューを持っています。ラジオボックスはyesまたはnoのいずれかで、2つのドロップダウンはhtmlで作成された場所です。現在完全に動作しており、すべてのデータを保存しています。mysqlからのデータをretieveしてフォームに表示

私が今やりたいのは、ユーザーがログインし直すと、以前に選択したものが表示されます(存在する場合)。

PHPスクリプト:

<?php 
session_start(); 
require_once("config.php"); 
if(!isset($_SESSION['username'])){ 
    header('Location: login.php'); 
    exit; 
}else{ 
    $sql = "SELECT attendance1 FROM user WHERE username = '".mysql_real_escape_string($_SESSION['username'])."'"; 
    $res = mysql_query($sql); 
    $row = mysql_fetch_array($res); 
    if(($row[0] == "Yes") || ($row[0] == "No")){ 
     header("Location: errorsubmit.html"); 
     exit; 
    } 
} 
if(isset($_POST['submit'])){   
    $sql = "UPDATE user SET attendance1 = '" . mysql_real_escape_string($_POST['attendance1']) . "' WHERE username = '" . mysql_real_escape_string($_SESSION['username']) . "'"; 
mysql_query($sql) or die("Error in SQL: " . mysql_error()); 

    $sql = "UPDATE user SET colour1= '" . mysql_real_escape_string($_POST['colour1']) . "' WHERE username = '" . mysql_real_escape_string($_SESSION['username']) . "'"; 
mysql_query($sql) or die("Error in SQL: " . mysql_error()); 

    $sql = "UPDATE user SET shade1= '" . mysql_real_escape_string($_POST['shade1']) . "' WHERE username = '" . mysql_real_escape_string($_SESSION['username']) . "'"; 
mysql_query($sql) or die("Error in SQL: " . mysql_error()); 

    header("Location: thanks.html", true, 303); 
} 
?> 

FORM:

<form> 
     <input name="attendance1" type="radio" id="Yes" value="Yes" checked="checked"/>Yes 
     <br /> 
<input name="attendance1" type="radio" id="No" value="No" />No 
     </h3></td> 
     <td> 
       <select name="colour1" id="colour1" > 
      <option selected="selected">Please Select</option> 
      <option>Red</option> 
      <option>White</option> 
      <option>Green</option> 
     </select> 
     </td> 
     <td><h3> 
       <select name="shade1" id="shade1" > 
      <option selected="selected">Please Select</option> 
      <option>light</option> 
      <option>heavy</option> 
     </select> 
     <td>&nbsp;</td> 
     <td><label> 
     <input type="submit" name="submit" id="button" value="Submit" /> 
     </label></td> 
    </tr> 
    </table> 

答えて

1

あなただけのデータベース内の値がオプションフィールドの値を持っているかどうかを確認する必要があり、もしそうなら、あなたはoptionタグに "selected = 'true'"をエコーし​​ます。同様

<option <?php if($row["column_name"] == "light") echo "selected=\"true\""; ?>>light</option> 
+0

doesntのは、私はそれはそれはちょうど私が – Jacob1

2

は、以下にお試しください:

データベースから値をフェッチし、それらを選択し表示するように選択ボックスの値とそれらを一致させる必要があります。

<select name="shade1" id="shade1" > 
    <option>Please Select</option> 
    <option value="light" <?php if($val=='light') echo 'selected'; ?>>light</option> 
    <option value="heavy"<?php if($val=='heavy') echo 'selected'; ?>>heavy</option> 
</select> 

ここで$valは、値がデータベースから取得された変数です。

あなたが持っている必要があります加えながら:

<option value="light" >light</option> 
<option value="heavy">heavy</option> 
+0

おかげで再びログインするときのように、私は、ドロップダウンから、この値はない試していない選択してくださいに来る必要があります知っているが、動作するようですデータベース内のものに表示されます。 「選択してください」から選択したものを削除しても、「選択してください」というメッセージが表示されます。 – Jacob1

+0

は、選択ボックスの値にatttributeを付ける必要があるため、それらを入れてもう一度更新してください –

+0

私は再選択して提出しました。私が「選択してください」に戻ってログインすると、まだ各ドロップダウンに表示されています:s – Jacob1

関連する問題