0

これはおそらく単純なことだと思いますが、PHPとMySQLの開発は初めてなので、助けていただければ幸いです。Stackで理解できる既存の例が見つからなかったので、ガイダンスを期待して投稿します。

アドレス情報を含むデータベーステーブルがあります。住所をhouse_numberとstreet_nameの2つのフィールドに分割しました。必要なのは、通りの名前でグループ化され、家の番号で並べ替えられた情報を表示することです。

ページをどのように表示する必要があるかの例をモックアップしました。最初の列に偶数アドレス、2番目の列に奇数アドレスがあります。書式設定にTwitterBootstrapを使用しています。

$address = mysql_query("SELECT id, house_number, street_name, full_address FROM resident WHERE neighborhood_id = $neighborhood_id order by street_name, house_number;");

それがどのように見えるべきか

ここに画像の説明を入力してください

以下のHTMLコード:

<!--STREET GROUPING -->
    <div class="row-fluid">
        <div class="span12">
        <h3>ASHTON PARK WAY</h3>
        </div>
    </div >

    <div class="row-fluid">
        <div class="span6"><!-- EVEN ADDRESSES -->
            <a href="#" class="btn btn-large btn-white btn-block">18102 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18104 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18106 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18108 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18110 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18112 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18114 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18116 Ashton Park Way</a>
        </div><!-- END EVEN ADDRESSES -->

        <div class="span6"><!-- ODD ADDRESSES -->
            <a href="#" class="btn btn-large btn-white btn-block">18101 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18103 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18105 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18107 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18109 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18111 Ashton Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18113 Ashton Park Way</a>
        </div><!-- END ODD ADDRESSES -->

    </div>
<!-- END STREET GROUPING -->

    <hr>

<!--STREET GROUPING -->
    <div class="row-fluid">
        <div class="span12">
        <h3>HAMDEN PARK WAY</h3>
        </div>
    </div >

    <div class="row-fluid">
        <!-- EVEN ADDRESSES -->
        <div class="span6">
            <a href="#" class="btn btn-large btn-white btn-block">18102 Hamden Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18104 Hamden Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18106 Hamden Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18108 Hamden Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18110 Hamden Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18112 Hamden Park Way</a>
        </div>
        <!-- END EVEN ADDRESSES -->

        <!-- ODD ADDRESSES -->
        <div class="span6">
            <a href="#" class="btn btn-large btn-white btn-block">18101 Hamden Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18103 Hamden Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18105 Hamden Park Way</a>
            <a href="#" class="btn btn-large btn-white btn-block">18107 Hamden Park Way</a>
        </div>
        <!-- END ODD ADDRESSES -->

    </div>
<!-- END STREET GROUPING -->
4

2 に答える 2

1

ここで何を変更しようとしているのかわかりません。Group By関数は、SQL がここで行うべきと考えていることを実行しない可能性があります。一般に、次のようなコンテキストで使用するのが最適です

SELECT count(invoicesTotal),sum(invoicesTotal) FROM invoices GROUP BY customer

データベースで、実行します

SELECT * FROM resident GROUP BY street_name

street_name に一致する最初のレコードのみが返されますが、これはこのコンテキストで探しているものではありません。

ORDER BY street_name, house_numberを使用して現在行っている方法が最適であり、foreach を使用してテーブルを作成すると思います。

また、mysql 拡張機能は使用しないでください。mysqli 拡張機能を使用します。mysql は間もなく非推奨になります。初心者の観点からは、大きな違いはありません。

于 2013-02-11T06:18:28.973 に答える
0
$address = mysql_query("SELECT id, house_number, street_name, full_address FROM resident WHERE neighborhood_id = $neighborhood_id group by street_name order by house_number");
于 2013-02-11T06:07:56.100 に答える