我正在尝试为预订公司创建定价系统,我有一个充满价格的数据库表。典型的行如下所示:
priceID | manufac | model | janDay | janWeek | febDay | febWeek | etc etc
--------------------------------------------------------------------------------------
1 |Chevrolelt | Matiz | 40.00 | 133.00 | 40.00 | 133.00 | etc etc
基本上我有一个变量:
$startmonth
此变量由我的代码设置,用于查找月份,并根据其编号为其分配值。在这个例子中,我们假设它已经完成并获得了值:
$startmonth = 'febWeek';
然后我有另一个查询找出汽车的模型,我测试了它并返回模型,所以我们知道:
$model = 'Matiz';
然后我执行另一个查询以获得价格:
$getprice = mysql_query("SELECT '".$startmonth."' FROM prices WHERE model = '".$model."' ");
while($ppdrow = mysql_fetch_assoc($getprice)) {
$priceperday = $ppdrow;
}
我已经尝试了很多方法,但我总是会遇到错误或不良后果。何时返回 133.00 。
实际返回的内容:
( [2] => 2 )
我可能会做一些非常愚蠢的事情,但有人可以告诉我什么吗?
答案 0 :(得分:3)
你可以试试这个
$getprice = mysql_query("SELECT ".$startmonth." FROM prices WHERE model ='".$model."' ");
while($ppdrow = mysql_fetch_assoc($getprice)) {
$priceperday = $ppdrow[$startmonth];
}
答案 1 :(得分:2)
请尝试此查询:
$getprice = mysql_query("SELECT `".$startmonth."` FROM prices WHERE model = '".$model."' ");
请注意单引号位置的反引号(列名称周围)。
至于while循环,您试图将$priceperday
设置为等于$ppdrow
,这是一个数组。您希望将其设置为数组中的正确值(列):
while($ppdrow = mysql_fetch_assoc($getprice)) {
$priceperday = $ppdrow[$startmonth];
}