2017-05-30 2 views
1

Ich habe ein PHP-Skript unten, die im Grunde Updates Option wählen Sie Werte in die Datenbank. Das Skript funktioniert, wenn ich den Wert der Option select kopieren möchte. Es funktioniert jedoch nicht, wenn ich den Text stattdessen kopieren möchte. Was muss ich ändern, damit das Skript den Text anstelle des Werts der Option kopiert? Wenn ein Benutzer beispielsweise "Second" ausgewählt hat, möchte ich, dass das Skript einfach "Second" anstelle von "2" kopiert. Danke im Voraus.PHP-Kopie Element Text im Vergleich zu Wert

<div class="controls"> 
    <i class="fa fa-sort"></i> 
    <select class="floatLabel" name="prop_class" required> 
    <option value="">None</option> 
    <option value="Inline">First</option> 
    <option value="2">Second</option> 
    <option value="Last">Third</option> 
    </select> 
    <label for="prop_class">Property Class</label> 
</div> 

php Skript:

$cn = "235Miami"; 
$prop_class = $_POST['prop_class']; 
$stmt1 = $DB_CON_C->prepare('UPDATE account 
      SET prop_class=:prop_class 
      WHERE cn=:cn'); 
$stmt1->bindParam(':cn', $cn, PDO::PARAM_STR); 
$stmt1->bindParam(':prop_class', $prop_class, PDO::PARAM_STR); 
$stmt1->execute(); 
+0

'

+2

Wenn Sie ein Formular absenden, werden nur die Werte übermittelt, nicht der Text. – Barmar

+0

Verwenden Sie Mapping für Vorlage und andere Sachen. In diesem Fall können Sie Werte in Labels und Kontra-versus konvertieren. – FieryCat

Antwort

0

erstellen Optionen Karte wie folgt aus:

<?php 
$options = [ 
    'Inline' => 'First', 
    '2' => 'Second', 
    'Last' => 'Third' 
]; 

Und dann richtigen Wert auswählen beim Einfügen:

$key = $_POST['prop_class']; 
$option = isset($options[$key]) ? $options[$key] : 'default value'; 
+0

Danke! Diese Methode funktioniert. Ich wusste, dass es einen Weg gibt, diese einfache Aufgabe zu erledigen, ansonsten ist die php-Beschränkung fraglich. Danke Anton. – javystar

0

Yo Sie können Javascript verwenden, um den Text der ausgewählten Option in das Auswahlfeld zu übernehmen, wenn das Formular abgeschickt wird. Oder Sie können den Wert einfach an die Option

<option value="Second">Second</option> 
Verwandte Themen