使用基于选择框选项的MySQL值填充其他文本输入

时间:2014-04-29 14:47:14

标签: php mysql sql

我有这个使用PHP从MySQL数据填充的选择框

<select>
    <?php
    $stmt = $pdo_conn->prepare("SELECT * from prices ");
    $stmt->execute(array());
    $records = $stmt->fetchAll(PDO::FETCH_ASSOC);
    foreach($records as $result2) {
        echo '<option value="'.$result2["product"].'">'.$result2["product"].'</option>';
    }
    ?>
    </select>
在MySQL(价格)的同一个表中有一个零售专栏,如何将零售价值放入文本输入

<input type="text" name="unitprice" />

基于选择框中的选定行?

1 个答案:

答案 0 :(得分:2)

我建议使用JavaScript。

选项1

我会将您的结果转换为JSON数组并将其回显给JavaScript。这样,所有信息都会被用户提供。

<select id="mySelectBox" onchange="changeValue(this.value);">
<?php
$json_array = array();
$stmt = $pdo_conn->prepare("SELECT * from prices ");
$stmt->execute(array());
$records = $stmt->fetchAll(PDO::FETCH_ASSOC);
foreach($records as $result2) {
    $product = $result2["product"];
    $json_array[$product] = $result2['unitprice'];
    echo '<option value="'.$result2["product"].'">'.$result2["product"].'</option>';
}
json_encode($json_array, JSON_FORCE_OBJECT);
?>
</select>
<input type="text" id="unitPrice" name="unitprice" />


<script>
var json = <?php echo $json_array; ?>;
function changeValue(myValue) {
    document.getElementById("unitPrice").value = json[myValue];
}


</script>