0

次のコードがあります。

while ($row = mysql_fetch_array($result)){    
    $que ='select SUM(price) from prices_adverts where advert_id="7" and room_type_id="54" and (date >= "2013-09-20" AND date <"2013-09-21") order by price';    
    $que ='select SUM(price) from prices_adverts where advert_id="7" and room_type_id="55" and (date >= "2013-09-20" AND date <"2013-09-21") order by price';    and etc    

    $res=mysql_query($que) or die();    
    $rw=mysql_fetch_row($res);    
    $price= $rw['0'];    
}    

これは、データベースに価格がある一部のレコードの合計を返し、レコードの $price に NULL が存在しない / 部屋に特定の日付の価格がない場合、テーブルに存在しない / だから私の質問は、結果を取得する方法ですのみ存在するレコードの場合??? 価格に NULL 値は必要ありませんが、外部で $price にアクセスできますか? どのように?助けてください、ありがとう

私が必要としているものを正確に説明してもよろしいですか、これはあなたが私を助けるのに役立つかもしれません:) 上記では、ホテルの部屋をループして、特定の期間の部屋の費用を確認しています。訪問者を予約ページに誘導するループの外側にボタンを描画する必要があります。しかし、ホテルがその日付の部屋料金を利用できない場合、予約ボタンをなくしたいと思います。そのため、ホテルに料金が記載された部屋が少なくとも 1 室あるかどうかを確認する必要があります..これが役に立てば幸いです

#################################################### ######アップデート

最初のクエリ: ロンドンのすべてのホテル id-s を取得しています

select id from adverts where town="London" limit 0, 5    

よりも

for($i=0;$i<$num_rows;$i++){    
$row=mysql_fetch_row($result);    
echo echo_multy_htl_results($row[0]);    
}    

この関数 echo_multi_htl_results は次のとおりです。

select a.article_title, a.town, a.small_image, a.plain_text, a.star_rating, a.numberrooms, rta.room_type_id, rt.bg_room_type,a.longitude, a.latitude, a.link_name, a.id from adverts a, rooms_to_adverts rta,room_types rt where a.id = rta.advert_id and rta.advert_id="3" and rta.room_type_id=rt.id and rt.occupants>="1" group by rt.bg_room_type order by rt.occupants ASC    

それはhtmlホテルスクエアとroom_types_id-sの情報を取得し、すでに追加されたタラが来る..あなたは何を提案しますか?

4

4 に答える 4

1

多分追加することによってAND price IS NOT NULL

于 2013-09-19T12:36:25.013 に答える
0

あなたが使用することができます

sum(case when price is null then 0 else price end) 

また

sum(isnull(price,0))

また

just add in your where clause `price is not null` to exclude them.
于 2013-09-19T12:39:45.073 に答える