2016-05-22 8 views
0

問題が解決しました。みんな、ありがとう。json - whileループがコンマでループする

コード:

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$sql = "SELECT * FROM movie WHERE status = 'In Cinemas' LIMIT 6"; 
$result = $conn->query($sql); 

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 

$moviename = $row['moviename']; 
$cover = $row['poster']; 

header('Content-Type: application/json; charset=utf-8'); 

$alldata [] = array('key'=>'movie-name', 'value'=>$moviename,'cover' =>$cover); 
echo json_encode($alldata); 

}} 
else{ 

echo "does not work"; 
} 

結果:

{ "items": 
[ 

{"key":"movie-name","value":"test","cover":"upload/movies/poster/1.png"} 

{"key":"movie-name","value":"London","cover":"upload/movies/poster/2.png"} 

]} 

問題:なしコンマはJSONの2つの出力を分離されていない

、{ "キー" で始まる - ブラケットの前コンマでなければなりません。実装に協力してください

問題が解決しました。みんな、ありがとう。ところであなたは問題があると言うしようとしているかを理解することはできませんいずれかの

+0

私は... –

+0

は、あなたの 'header'と' json_encode'行は、whileループ_outside_すべきではありませんか? –

+0

私は出力の間に "カンマ - 、記号"を持つようにしようとしました。 – user1137167

答えて

0
$sql = "SELECT * FROM movie WHERE status = 'In Cinemas' LIMIT 6"; 
$result = $conn->query($sql); 
$master_array = array(); 

if ($result->num_rows > 0) { 
    // output data of each row 
    while($row = $result->fetch_assoc()) { 
$moviename = $row['moviename']; 
$poster = $row['poster']; 

$master_array[] = array('key'=>'movie-name','value'=>$moviename,'cover'=>$poster); 

} 
header('Content-Type: application/json; charset=utf-8'); 
    echo json_encode($master_array); 

} 
else{ 

echo "no"; 
}