sql >> Database teknologi >  >> RDS >> Mysql

Udfylder det valgte inputfelt med værdi fra mysql

Få valgmuligheder kun én gang (det er ikke nødvendigt at gentage dette for hver person):

$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));

Gå derefter hen over personerne

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++;   
}

At bygge dette ind i én SELECT-forespørgsel er unødvendigt komplekst (selv om det er muligt, men det giver dig ulæselig kode).

Åh, og tag et kig på htmlspecialchars (), hvis et navn indeholder et "-tegn, bliver din HTML ødelagt




  1. Udbyder navngivet pipes provider fejl 40 kunne ikke åbne en forbindelse til SQL Server fejl 2

  2. Cloud Vendor Deep-Dive:PostgreSQL på Microsoft Azure

  3. Sådan installeres MariaDB på CentOS 7 / RHEL 7

  4. Sådan beregnes rang i MySQL