尽量不要制作一个包含大量列的表格。而是制作一些列和一大堆行(或记录)。
如果我用大量列进行此操作,我会知道如何执行此操作,但是如何使用多行/记录执行此操作?
我有一个包含这些字段的表格:
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的不同变量。
我该怎么做?
答案 0 :(得分:2)
你可以使用数组:
$i=0;
while($pricingdiscountrow = mysql_fetch_array( $pricediscountquery ))
$myarray[$i++]=$pricingdiscountrow['discount_amt'];
答案 1 :(得分:0)
您可以使用变量变量。它实质上是将一个变量设置为等于:
$foo = 'bar';
然后使用该变量的值设置为下一个变量的名称:
$$foo = 'dog';
echo $bar; // would return 'dog';
但是,使用关联数组会更容易。
$data = array();
while() {
$data[$variableName] = $pricingdiscountrow['discount_amt'];
};