2017-05-30 60 views
1

我有一個PHP腳本下面,基本上更新選項選擇值到數據庫。如果我想複製選項選擇的值,該腳本將起作用。但是,如果我想要複製文本,它不起作用。我需要更改哪些腳本來複制文本而不是選擇選項的值?例如,如果用戶選擇「秒」,我希望腳本簡單地複製「秒」而不是「2」。提前致謝。php複製元素文本與值

<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腳本

$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

當您提交表單時,只會提交值,而不是文本。 – Barmar

+0

使用模板和其他東西的映射。在這種情況下,您可以將值轉換爲標籤並反轉。 – FieryCat

回答

0

創建選項映射是這樣的:

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

,然後選擇適當的值插入時:

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

謝謝!此方法有效。我知道必須有一種方法來完成這個簡單的任務,否則php的限制是有問題的。謝謝安東。 – javystar

0

呦當表單提交時,您可以使用Javascript在選擇字段中選擇所選選項的文本。或者您可以將值傳遞給選項

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