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 />";
}

これにより、列のすべての値が 1 つの変数名で表示されます。私はそれをしたくありません。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

可変変数を使用できます。基本的に、1 つの変数を何かに等しく設定しています。

$foo = 'bar';

次に、その変数の値を使用して、次の変数の名前として設定します。

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

ただし、連想配列を使用する方が簡単です。

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