2016-04-11 7 views
1

私は、フリーランサーをグループ化するネットワークを構築しており、潜在顧客がその詳細を含むプロファイルを閲覧できるようにします。既存の値をドロップダウン、ラジオボタン、チェックボックスのフィールドにあらかじめ選択して表示する

私のデータベースには、ユーザーがドロップダウンボックスまたはラジオ/チェックボックスフィールドを使用してフォームから入力するいくつかの値が保存されています。編集ページを介して、彼らはそのデータを修正することができます。

DBの値が既に存在する場合、そのフィールドを既に作成した値で事前に作成する方法に苦労しています。私はフォームフィールドの値として列の値をエコーすることによって通常のテキスト/入力フィールドでそれを行うことができましたが、これらの他のフィールドでそれを達成する方法を理解することはできません。

UPDATE:データベースから値を取り出し、フォームフィールドにあらかじめ選択した/デフォルトのエントリとして表示する必要があります。

これを空白のままにすると、ユーザーは既存のデータを何も上書きしないで、前にそのフィールドに入力したものを消去します。

ドロップダウンフィールドの例は次のとおりです。

<div class="item-content"> 
<div>Experience</div>  
<select class="form-control" name="profile_experience" id="profile_experience"> 
    <option value="1">Amateur</option> 
    <option value="2">Semi Professional</option> 
    <option value="3">Professional</option> 
</select> 
</div> 

次のように値を取得しています。

<?php  
     $id=$_SESSION['user']['id']; 
     $result = $db->prepare("SELECT * FROM profiles WHERE user_id= :userid"); 
     $result->bindParam(':userid', $id); 
     $result->execute(); 
     for($i=0; $currentprofile = $result->fetch(); $i++){ 
    ?> 
<!--FORM HERE--> 
<?php 
    } 
?> 
+1

checked = 'checked'、selected = 'selected' – Nehal

+0

ありがとう。私はHTMLを認識しています。私はDBから値を取得し、ドロップダウンを反映させる必要があります。私はそれをより明確にするために私の質問を更新しました。 –

+0

データベースからデータをどのように取得していますか? –

答えて

1

取得し、以下のコードはprofile_experience_arrayのすべてのオプションを表示する記憶された値

<?php 
$query = "SELECT id FROM Tablename WHERE YOUR_CONDITION"; 
$result = mysqli_query($connection, $query); 
if (mysqli_num_rows($result) > 0) 
{ 
$row = mysqli_fetch_assoc($result); 
$selectedOption = $row['id']; 
} 
else 
{ 
$selectedOption = ''; // Your default selection of $cc 
} 

$profile_experience_array = array(1=>'Amateur', 
            2=>'Semi Professional', 
            3=>'Professional');         
?> 

をstote。 $ keyはデータベースの値($ selectedOption)でチェックし、そのテキストはデフォルトで選択されます。

<div class="item-content"> 
<div>Experience</div>  
<select class="form-control" name="profile_experience" id="profile_experience"> 
<option value="0">Select</option> 
    <?php 
    foreach ($profile_experience_array as $key => $text) 
    { 
     if ($key == $selectedOption) 
     { 
      echo '<option value="'.$key.'" selected="selected">'.trim($text).'</option>'; 
     } 
     else 
     { 
      echo '<option value="'.$key.'">'.trim($text).'</option>'; 
     } 
    } 
    ?> 
</select> 
</div> 
+0

ユーザーが以前にフォームのその部分を完了していない場合はどうなりますか?他の値はまだ完了していますか? –

+0

セクションを完了しなかった場合は、デフォルト値に戻ります。(編集済み) –

+0

これは、DBテーブルから選択値を入力する必要があることを意味しますか?それらはハードコードされています。この方法でもチェックボックスとラジオボタンが機能しますか? –

関連する問題