sql >> データベース >  >> RDS >> Mysql

選択入力フィールドにmysqlからの値を入力する

    オプションを1回だけ取得します(すべての人に対してこれを繰り返す必要はありません):

    $sqlStatuses = 'SHOW COLUMNS FROM '.$table_name2.' WHERE field="'.$column_name2.'"';
    $rowStatuses = $db_con->query($sql1)->fetch(PDO::FETCH_ASSOC);
    $personStatuses = explode("','",substr($rowStatuses['Type'],6,-2));
    

    次に、人の上を歩きます

    foreach ($results2 as $value2) { 
        // Your code
        echo "<tr>";
        echo "<td>Name #".$s."<input type=\"hidden\" name=\"person_id_".$s."\" value='". $person_id = $value2['person_id']."' readonly=\"readonly\"/><input id=\"person_fname_".$s."\" name=\"person_fname_".$s."\" placeholder=\"Person #".$s." First Name\" type=\"text\" value='" . $value2['first_name'] ."'/></td>";
    
        // Added
        echo '<td><select name="person_status_'.$s.'">';
        foreach($personStatuses as $option) {
            echo '<option value="'.htmlspecialchars($option).'" ';
            if ($value2['person_status'] == $option) {
                echo 'selected="selected"';
            }
            echo '>' . htmlspecialchars($option) . '</option>';
        }
        echo '</select></td>';
    
        // Your code again
        echo "</tr>";
        $s++;   
    }
    

    これを1つのSELECTクエリに組み込むことは、不必要に複雑です(ただし、可能ですが、コードが読み取れなくなります)。

    ああ、htmlspecialchars を見てください。 ()、名前に「文字」が含まれている場合、HTMLが台無しになります




    1. CONVERT()を使用してSQLServerで文字列を日付/時刻に変換する方法

    2. Pythonを使用してSQLServerデータベースにcsvファイルを書き込む

    3. T-SQL日時データ型

    4. 配列をAJAXを介してphpからjavascriptに渡す