显示DB的价格

时间:2015-10-06 03:01:52

标签: php mysql

用户更改nm_peca,将选择tipo_preco,然后在MySQL数据库中查找价格以完成文本框vlr_peca。

我需要做些什么才能获得产品的价值?

<?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>

1 个答案:

答案 0 :(得分:0)

你的代码有点令人困惑,因为你真正想要的东西对我来说并不清楚,也许它并没有帮助它用不同的语言。什么是$query?您没有在代码中使用它,因此您需要执行此操作才能访问它:

$rows = array();
while ($row = mysql_fetch_assoc($query)) {
    $rows[] = $row;
}

print '<pre>'. print_r($rows, true) . '</pre>';

然后,您需要使用ajax请求或在前端设置javascript变量进行更改。我会继续使用后者,因为它更具说明性。

所以我会将jQueryhttps://code.jquery.com/jquery-2.1.4.min.js的cdn添加到文件的顶部,如下所示:

<script type="text/javascript" src="https://code.jquery.com/jquery-2.1.4.min.js"></script>

然后您需要为<input id="dynamic-variable" type="text" value="????????" name="vlr_peca">之类的输入标记添加输入ID,然后使用以下内容:

<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查询中的数据,并且您可能只想在javascript中使用<?= $db_variable ?><?php echo $db_variable?>,其中我有金额变量。这应该足以让你开始。阅读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'];
?>

我建议你选择第一个建议,它是更快,更少移动的部分。