簡體   English   中英

在點擊事件中從數據庫獲取價格

[英]Get price from database on click event

我是使用html,javascript,php和Smarty的新手。

我想知道如何在選擇產品時顯示我的價格。

我的數據庫連接有效,我可以顯示產品,但是當我選擇產品時,我希望他的價格以表格形式顯示。

.php文件

<?php

$new = ['product_id','product_category','product_price','product_quantity','product_about','product_color'];

//Database connection
 $db = mysqli_connect('xxx','xxx','xxx','xxx')
 or die('Error connecting to MySQL server.');

//access Smarty template engine
require_once('Smarty-3.1.30/libs/Smarty.class.php');

$smarty = new Smarty();
$smarty->template_dir = 'views';
$smarty->compile_dir = 'tmp';


//query product page
$query = "SELECT * FROM cs_shop";
mysqli_query($db, $query) or die('Error querying database.');

$result = mysqli_query($db, $query);


//query an array of products
$rows = array();

 //loop start
 while ($row = mysqli_fetch_array($result)) {
    $rows[] = array(
        'product_id' => $row['product_id'],
        'product_category' => $row['product_category'],
        'product_price' => $row['product_price'],
        'product_quantity' => $row['product_quantity'],
        'product_about' => $row['product_about'],
        'product_color' => $row['product_color']
    );
}

//db collect data
$smarty->assign('row', $rows); 
//template
$smarty->display('index.tpl');

mysqli_close($db);

?>

.js

<script>

$(document).ready(function () {
  //your code here
  $(function () {
        $('#products').change(function () {
        $('#priceInput').val($('#products option:selected').data('data-price'));
    });
});

});

</script>

.tpl

<select name="productID" id="products"> 

    {foreach from=$row item="item"}

      <option value="$item['product_category']" data-price="$item['product_price']" >{$item['product_category'] } : {$item['product_price'] }</option>

    {/foreach} 

</select> 



 <form>     
    Price : <input value="" name="Price" type="text" id="priceInput" disabled="disabled">       
  </form>

我想知道我在這里想念什么嗎? 提前致謝

$(document).ready(function () {
        $('#products').change(function () {
        $('#priceInput').val($('#products option:selected').data('price'));
    });
});

因為我在Java腳本上使用了.data,所以我兩次讀取了數據的函數,那是我的錯誤..所以修復程序看起來像這樣->

.js

$(document).ready(function () {

    $('#products').change(function () {
        var price = $('#products option:selected').data('price');
    $('#priceInput').val(price);

});

});

因此,基本上,據我了解,當它在.tpl中讀取“價格”時,會將“數據”添加為值,因此看起來像“數據價格”。 我所擁有的是“數據-數據-價格”。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM