0

問題

部屋の1人あたりの合計コストと、部屋の合計人数を決定するためのクエリを作成しました。部屋にいる人の総数と同様に、一人あたりの総費用は正しく返されます。ただし、合計のマイナー乗算をエコーし​​ようとすると、乗算したい数値が表示されるだけです。

例: 1人あたりの価格=$1207部屋にいる人の総数=2クエリ結果..."1207* 2" .. ..

質問:

私はそれが愚かでマイナーなものであると確信していますが、2番目の目を使うことができます。以下のコードを書き直して、 2414ドルの望ましい結果を生成するにはどうすればよいですか?

クエリは次のとおりです。

$tourquery = "SELECT t.roomprice, c.totpax 
         FROM clients c, tourprices t 
         WHERE c.roomtype1 = t.roomtype 
         AND c.tourstart = t.tourstart
         AND c.tourbk_id = t.tour_id"; 
$tourresult = $db->query($tourquery); 


while ($roomrate = mysqli_fetch_assoc($tourresult))
   {
echo "Per person amount : {$roomrate['roomprice']}<br />";
echo "Total room amount : {$roomrate['roomprice']}*{$roomrate['totpax']}<br />";

}
4

3 に答える 3

2

なぜあなたはこれをしませんか:

while ($roomrate = mysqli_fetch_assoc($tourresult))
{
    $totalcost = $roomrate['roomprice'] * $roomrate['totpax'];
    echo "Per person amount : {$roomrate['roomprice']}<br />";
    echo "Total room amount : {$totalcost}<br />";
}
于 2012-10-23T21:41:34.570 に答える
0

文字列を出力しているからです。これを修正するには、次のようないくつかの方法があります。

while ($roomrate = mysqli_fetch_assoc($tourresult))
   {
$total_price = $roomrate['roomprice']*$roomrate['totpax'];
echo "Per person amount : {$roomrate['roomprice']}<br />";
echo "Total room amount : {$total_price}<br />";

}
于 2012-10-23T21:43:11.633 に答える
0

あなたは本当に空想的で、mySQLによって数学を行わせることもできます。

SELECT t.roomprice, c.totpax, (t.roomprice * c.totpax) AS total_price 
     FROM clients c, tourprices t 
     WHERE c.roomtype1 = t.roomtype 
     AND c.tourstart = t.tourstart
     AND c.tourbk_id = t.tour_id

ただし、パフォーマンスが低下するかどうかはわかりません。処理をDBで行うのか、PHPで行うのかを何度も行き来します。

于 2012-10-23T21:46:48.287 に答える