2015-10-06 47 views
0

用戶更改nm_peca,將選擇tipo_preco,然後在MySQL數據庫中查找價格以完成文本框vlr_peca。查看價格從DB

我需要做些什麼來獲得產品的價值?

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

我不確定我是否真的明白你在問什麼。 : - /價格來自SQL查詢?您是否在推選擇時說價格變化?如果第一個...很容易,你必須從$ query變量訪問第一行。第二種方式需要更多的手肘潤滑脂,您需要一個頁面獲取ajax get請求,以便使用特定產品和選擇類型填充價格。對於一個真正的解決方案,我建議更新你的問題,讓你的目標更清晰。 – DataHerder

+0

我需要第二種方式。 –

回答

0

嗯,你的代碼是有點混亂,因爲你真正想要的是什麼我也不清楚,也許它沒有幫助,這是在不同的語言。什麼是$query?你是不是在代碼中使用這個,所以你需要做這個訪問它:

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

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

然後,你需要使用一個Ajax請求,否則安裝程序的JavaScript瓦爾在前端進行更改。因爲它更具說明性,所以我將繼續使用後者。

所以我想補充的jQuery這是https://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> 

然後你需要輸入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查詢中的數據,並且您可能只想在您的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']; 
?> 

我建議你只是去第一建議,它的速度更快,較少移動的部分。

+0

完美。多謝兄弟! –