下午所有,
一个非常快速的问题......一位朋友使用mysql_query为我设置了一个表单。自从他写这篇文章以来,我在数据库中添加了一个额外的列,我希望将其引入到表单中。
但是我似乎无法显示这个额外的列(标记为Currency)。我需要它的原因是下面的查询将拉回一个值和£符号。因为我不仅要显示£,还要显示€价格,我需要这个额外的列才能通过(显然我也必须从下面的回声中删除£)。
我已经尝试将额外的列(货币)添加到代码中,例如“选择房间,货币,价格来自Spa_Upgrades
但这没效果。
代码是:
<?php
if (isset($id))
{
$query2 = mysql_query("SELECT Room, Price FROM Spa_Upgrades WHERE Spa_Upgrades.Spa_Id = '".$id."' AND Spa_Upgrades.Id = '".$pack."' order by Spa_Upgrades.Order");
$rows = mysql_num_rows($query2);
if($rows==0) {echo "disabled='disabled'/>";}
else
{
echo "/>";
echo "<option value='Default'>Please Select</option>";
for($i=0; $i<$rows; $i++)
{
$result2 = mysql_fetch_array($query2);
echo "<option value='".$result2[0]." £".$result2[1]."pp'>$result2[0] £$result2[1]pp</option>";
}
}
}
如果有人能解决这个问题,那就非常感激!
谢谢, 杂色
答案 0 :(得分:1)
按如下方式更改查询:
SELECT Room, Price, Currency FROM Spa_Upgrades ...
更改echo
循环内for
行的行:将£
替换为$result2[2]
,只要它出现在哪里。 (或者,如果Currency
列不包含货币符号的HTML实体,则将£
替换为适当的代码,以从Currency
列条目中获取符号。)
答案 1 :(得分:0)
mysql_fetch_assoc()
代替mysql_fetch_array()
试试这个:
<?php
$results = array();
if (isset($id))
{
$resource = mysql_query("SELECT room, currency, price FROM Spa_Upgrades
WHERE Spa_Upgrades.Spa_Id = '".intval($id)."' AND Spa_Upgrades.Id = '".intval($pack)."'
order by Spa_Upgrades.Order");
while($row = mysql_fetch_assoc($resource))
$results[] = $row;
}
?>
<select name="..." <?php echo (count($results) > 0 ? '' : 'disabled') ?>>
<option value="Default">Please Select</option>
<?php
foreach($results as $result)
{
$value = $result['room'].' '.$result['currency'].$result['price'].'pp';
echo '<option value="'.htmlspecialchars($value).'">'.htmlspecialchars($value).'</option>'."\n";
}
?>
</select>
答案 2 :(得分:0)
您还需要将列添加到输出中......我也会切换到关联数组,否则如果添加一个列而不是最后一个,则必须更改所有索引。
if (isset($id))
{
$query2 = mysql_query("SELECT Room, Price, Currency FROM Spa_Upgrades WHERE Spa_Upgrades.Spa_Id = '".$id."' AND Spa_Upgrades.Id = '".$pack."' order by Spa_Upgrades.Order");
$rows = mysql_num_rows($query2);
if($rows==0) {echo "disabled='disabled'/>";}
else
{
echo "/>";
echo "<option value='Default'>Please Select</option>";
for($i=0; $i<$rows; $i++)
{
$result2 = mysql_fetch_assoc($query2);
$value = $result2['Room'] . ' ' . $result2['Currency'].$result2['Price'].'pp';
echo sprintf('<option value="%s">%s</option>', $value, $value);
}
}
}