0

尽量不要制作一个有大量列的表格。而是制作几列和大量行(或记录)。

如果我使用大量列执行此操作,我会知道如何执行此操作,但是您如何使用多行/记录执行此操作?

我有一个包含这些字段的表:

id, product_category, product_name, quantity_range, discount_amt

会有很多记录,但我会为这个问题将它缩短到几行。

假设我有这些记录:

1    Post Card    4x6    5M to 9,999      0.007
2    Post Card    4x6    10M to 14,999    0.01
3    Post Card    4x6    15M to 19,999    0.013
4    Post Card    4x6    20M to 24,999    0.015
5    Post Card    4x6    Over 25M         0.019

现在我想做的是在 discount_amt 列中创建一组所有值的变量。

所以我选择表中的所有内容,如下所示:

$pricediscountquery = mysql_query("SELECT * FROM pricing_discount") or die(mysql_error());

然后像这样循环遍历结果/行:

while($pricingdiscountrow = mysql_fetch_array( $pricediscountquery )) {
  //echo $pricingdiscountrow['product_category']." ";
  //echo $pricingdiscountrow['product_name']." ";
  //echo $pricingdiscountrow['quantity_range']." ";
  echo $pricingdiscountrow['discount_amt']." ";
  echo "<br />";
}

这将在单个变量名称中显示列的所有值。我不想要那个。我不想要 0.007 的变量、0.01 的不同变量、0.013 的不同变量、0.015 的不同变量和 0.019 的不同变量。

我怎么做?

4

2 回答 2

2

你可以使用一个数组:

$i=0;
while($pricingdiscountrow = mysql_fetch_array( $pricediscountquery )) 
$myarray[$i++]=$pricingdiscountrow['discount_amt'];
于 2013-10-30T19:14:21.553 回答
0

您可以使用变量变量。它本质上是将一个变量设置为等于某个值:

$foo = 'bar';

然后使用该变量的值设置为下一个变量的名称:

$$foo = 'dog';
echo $bar; // would return 'dog';

但是,使用关联数组会更容易。

$data = array();
while() {
    $data[$variableName] = $pricingdiscountrow['discount_amt'];
};
于 2013-10-30T19:17:51.650 回答