1

PHP で JSON フィードを出力しようとしていますが、JSON フィードの 2 番目の結果に最初の結果も含まれるという問題が引き続き発生します。

以下のソース、および出力:

ソース

function fetch_tour_list($tourID) {
    include('../inc/conn.php');

    $query = mysqli_query($conn,"SELECT * FROM ticket_tour_dates WHERE TourID = $tourID");
    while($result = mysqli_fetch_array($query)) {

        $date['date'] = $result['Date'];
        $venueID = $result['VenueID'];

            $venue_query = mysqli_query($conn,"SELECT * FROM ticket_venues WHERE ID = $venueID");
            while($venue_result = mysqli_fetch_array($venue_query)) {
                $venue['id'] = $venue_result['ID'];
                $venue['name'] = $venue_result['Name'];
                $venue['location'] = $venue_result['Location'];
                $venue['latitude'] = $venue_result['Lat'];
                $venue['longitude'] = $venue_result['Long'];

                $venues[] = $venue;
            }


        $date['venue'] = $venues;
        $dates[] = $date;

    }

    echo json_encode($dates);
    mysqli_close($conn);
}

出力

[{"date":"2013-07-29","venue":[{"id":"1","name":"The Gramercy","location":"New York City","latitude":"50.00000000","longitude":"50.00000000"}]},{"date":"2013-08-02","venue":[{"id":"1","name":"The Gramercy","location":"New York City","latitude":"50.00000000","longitude":"50.00000000"},{"id":"2","name":"The Troubadour","location":"Chicago","latitude":"20.00000000","longitude":"25.00000000"}]}]
4

1 に答える 1

2

内側のwhileループの前に次の行を追加します。

$venues = array();
于 2013-07-21T05:03:26.477 に答える