php - 显示 DB 的价格

标签 php mysql

用户去更改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_queryjQuery

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/

相关文章:

php - Datalist HTML 中的分界线不起作用

php - 如何使用 PHP 和 MySQL 检索图像

mysql - 用户 'ODBC' @'localhost' 的访问被拒绝

php - mysql 查询错误没有重复 - 但如何让它跳过错误并继续执行其他错误?

php - 何时使用 : redirect ('/' ) vs. redirect()->route ('home' ) vs. redirect()->home()?

php - MySQL获取从现在到去年一个月的记录

php - PDO 不能绑定(bind)两个属性

php - pdo 参数没有绑定(bind)

mysql - 您如何看待我的数据库架构?

mysql - 使用sql查询删除某些列中的重复项