2017-05-15 41 views
0

我新使用的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> 

我想知道我是缺什麼這裏?在此先感謝

+0

您可能需要圍繞PHP值大括號中的'數據價格=「$項目[‘PRODUCT_PRICE’]」'到actualy打印價格值到模板 - >'數據價格=「{$項目[」 product_price']}「' – insider

+0

我加了,但沒有顯示.. – Ylama

回答

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

不適合我男人。謝謝 – Ylama

+0

@Ylama現在嘗試,我編輯。只需複製和粘貼字面。在jsfiddle上爲我工作。 – Yeray

+0

不工作,試了一下,但它只是顯示一個空的輸入字段。 – Ylama

0

監守我使用。數據在我的Java腳本我讀功能數據的兩倍,這是我的錯誤..所以修復看起來是這樣的 - >

的.js

$(document).ready(function() { 

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

}); 

}); 

所以基本上我的理解時,它讀取我.tpl「價格」它增加了「數據」的值,因此它看起來就像「數據價格」。我所擁有的是「數據 - 數據價格」。

相關問題