3

我有一个显示数据库数据的表格。我有一个选择框,人们可以在其中选择他希望显示数据的货币。

当他这样做时,我需要刷新数据并将其显示为新货币。如果不刷新整个页面,我不知道该怎么做。

请问有什么想法吗?

<select id="currency">
<option value = "rub">В рублях</option>
<option value = "usd">USD</option>
<option value = "eur">EURO</option>
</select>
<table id="servers" cellpadding="0" cellspacing="0">
 <tr>
<td width="400"><b>Сервер</b></td>
<td width="100"><b>1 кк адены</b></td>
<td width="100"><b>1 ккк адены</b></td>
</tr>
<?php 
$sql = mysql_query("SELECT * FROM `prices`");
while($r = mysql_fetch_array($sql)) {
echo("\t\t<tr>\n");
echo("\t\t\t<td>".$r['name']."</td>\n");
echo("\t\t\t<td>$".round($r['kk']/$dollar, 2)."</td>\n");
echo("\t\t\t<td>$".round($r['kkk']/$dollar, 2)."</td>\n");
echo("\t\t</tr>\n");
} ?>
</table>
4

2 回答 2

1

您可以使用 Ajax,它允许在不刷新整个页面的情况下请求数据库并检索数据。

这是一个介绍:http ://www.w3schools.com/jquery/jquery_ajax_intro.asp

然后,查看 jquery API 并查看示例:http ://api.jquery.com/jQuery.ajax/

祝你好运

于 2013-03-03T00:36:38.553 回答
0

如果您可以保存数据转换的因素(用于转换 USD>AUS USD>EUR 或其他),您可以使用一个通用选择器在整个表格中委派更改。

首先,您将所有因素放在 js 变量中,如下所示(这必须在 php 文件中完成,其他内容可以在单独的 js 中完成):

var USDtoEUR = <?php echo $php2eur; ?>

接下来,您将事件绑定到单击选择框、按钮或其他任何内容,假设它是带有 id "currency" 的选择:

$('#currency'). click(function() {
 switch ($('this').val()) {
   case 'EUR' {
      //Code we will discuss is going here
   }
   break;
//... etc...

因此,我们想要更改我们假设点击时以美元为单位的所有数据,因此我们拥有将所有因素从美元转换为存储在单独的变量 USDtoXXX 中的其他值。请注意,我们也需要一个 USDtoUSD。

现在......无论结构是什么,包含动态更改数据的元素都应该具有如下类和 inusd 属性:

<li class="price" inusd="123">123</li>

usd 中的价格应该存储到一个属性中,以使其独立于将要更改的 dom 内容。

所以对于上面的例子,我们这样做:

$('.price').each(function() {
  $(this).text()=$(this).attr('inusd')*USDtoEUR;  //If user selected EUR
}

小心在 switch 语句中使用中断和默认值... javascript switch 让 case 放弃它们的条件。

另外,在使用金钱时,请对计算功能进行深入测试,javascript有时也会弄乱那个upp :D

于 2013-03-03T01:07:24.763 回答