用户去更改nm_peca,将选择tipo_preco,然后在MySQL数据库中查找价格来完成文本框vlr_peca。
我需要做什么才能获得产品的值(value)?
<?php>
$query = mysql_query("SELECT id, nm_peca, vlr_original,
vlr_paralelo, fabricante
FROM peca
ORDER BY nm_peca");
<select id="nm_peca" name="nm_peca"
title="Selecione um status."
class="form-control" size="1">
<option value="">Status</option>
<option value="N/A">N/A</option>
<option value="S">S - Substituir</option>
</select>
</div>
</div>
<select id="tipo_preco" name="tipo_preco"
class="form-control" size="1">
<option value="">Tipo</option>
<option value="Peça Original">Original</option>
<option value="Peça Paralela">Paralela</option>
</select>
</div>
</div>
<div class="col-md-1">
<div class="input-group btn-group">
<input type="text" value="????????" name="vlr_peca"
class="form-control" readonly>
</div>
</div>
最佳答案
嗯,你的代码有点令人困惑,因为我不清楚你真正想要的是什么,也许它采用不同的语言并没有帮助。 $query
是什么?为了?您没有在代码中使用它,因此您需要执行以下操作才能访问它:
$rows = array();
while ($row = mysql_fetch_assoc($query)) {
$rows[] = $row;
}
print '<pre>'. print_r($rows, true) . '</pre>';
然后您需要使用 ajax 请求或在前端设置 javascript 变量来进行更改。我将继续使用后者,因为它更具说明性。
所以我会添加jQuery的cdn这是 https://code.jquery.com/jquery-2.1.4.min.js到文件顶部的标签中,例如:
<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script>
然后您需要向该输入标记添加一个输入 ID,例如 <input id="dynamic-variable" type="text" value="????????" name="vlr_peca">
然后使用类似的东西:
<script type="text/javascript">
$(document).ready(function() {
$('#tipo_preco').change(function() {
if ($(this).val() == 'Peça Original') {
$('#dynamic-variable').val('$5,000,000,000.00');
} else if ($(this).val() == 'Peça Paralela') {
$('#dynamic-variable').val('$300 billion trillion dollars');
} else {
$('#dynamic-variable').val('Bro. Choose one.');
}
});
});
</script>
我不会为你编写整个程序,因为我不知道你从数据库中获取什么样的数据,但这应该足以让你开始。您需要能够访问mysql查询中的数据,并且您可能只想使用<?= $db_variable ?>
或<?php echo $db_variable?>
在你的 javascript 中,我有数量变量。这应该足以帮助您入门。阅读 php mysql_query和 jQuery
AJAX 如果您要通过 AJAX 执行此操作,则需要第二个页面来访问数据库,您必须使用 $_GET 或 $_POST 变量,然后打印回金额。
所以你的 JavaScript 会是这样的:
$.get('/the/page.php?tipo_preco=' + $('#tipo_preco').val(), function(response) {
if (response != '') {
$('#dynamic-variable').val(response);
}
});
你的第二页将是这样的:
<?php
// code that sets up the database
// .... //
// now your code
$selected_value = $_GET['tipo_preco'];
$result = mysql_query("SELECT price FROM table WHERE column_val = '" . mysql_real_escape_string($selected_value) . "'");
$row = mysql_fetch_assoc($result); // assuming you're only fetching one row
print $row['price'];
?>
我建议您采用第一个建议,它更快,移动部件更少。
关于php - 显示 DB 的价格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32961041/