2016-11-21 32 views
-5

問題 各データセットを選択し、行ごとに変換することで、出力されるデータセットがあります。SQL行を配列に変換する

質問 このデータをフェッチして配列として保存する方法はありますか?それで、文字列値のセットに変換できますか?

$sql = "SELECT * FROM respondent_data WHERE respondent_firstname = 'John'"; 
$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 

    while($row = mysqli_fetch_assoc($result)) { 

    $categoriesTest[] = $row["respondent_sdo"]; 
    $row["respondent_dcto"]; 
    $row["respondent_ed"]; 
    $row["respondent_ca"]; 
    $row["respondent_dhpt"]; 
    $row["respondent_irt"]; 
    $row["respondent_gl"]; 
    $row["respondent_il"];  

     // Turn my output into an array ready to be used for the JSON string 

    } 

} 

ので、これらの値の各々は、私はそれらのような配列になってする必要がある列の行から整数出力:2,4,3,5を....

+1

希望する出力はここにありますか? – Maximus2012

+3

「カンマ区切り配列」のようなものはありません。代わりにカンマ区切りの文字列を作成する場合は、try * implode()*を使用します。代わりに結果から配列を作成したい場合は、次のように考えてください:* $ row *はすでに配列です。 –

+0

@ Maximus2012なので、配列に出力するにはこれらの行が必要です。グラフのデータセットとして使用することができます。これはJSON形式のデータストリームに変換されます。 – PhpDude

答えて

0

あなただけちょうど、それぞれの特性を持つ配列でそれらを設定し、MySQLの呼び出しからの照会すべての列から特定の連想プロパティをしたい場合:

$categoriesTest = array(); 
$sql = "SELECT * FROM `respondent_data` WHERE `respondent_firstname` = 'John'"; 
$result = mysqli_query($conn, $sql); 
while($row = mysqli_fetch_assoc($result)) { 
    $categoriesTest[] = array(
     'respondent_sdo' => $row['respondent_sdo'], 
     'respondent_dcto' => $row['respondent_dcto'], 
     'respondent_ed'  => $row['respondent_ed'], 
     'respondent_ca'  => $row['respondent_ca'], 
     'respondent_dhpt' => $row['respondent_dhpt'], 
     'respondent_irt' => $row['respondent_irt'], 
     'respondent_gl'  => $row['respondent_gl'], 
     'respondent_il'  => $row['respondent_il'] 
    ); 
} 
$categoriesTest = json_encode($categoriesTest); // get JSON 

しかし、あなたはすべての列を維持したい場合クエリしますが、使用するカスタム要素を作成してくださいarray_merge

$categoriesTest = array(); 
$sql = "SELECT * FROM `respondent_data` WHERE `respondent_firstname` = 'John'"; 
$result = mysqli_query($conn, $sql); 
while($row = mysqli_fetch_assoc($result)) { 
    $categoriesTest[] = array_merge($row, array(
     'custom_value_1' => 'test', 
     'custom_value_2' => 'test2' 
    )); 
} 
$categoriesTest = json_encode($categoriesTest); // get JSON 
0

これはトリックを行う必要があります。

$sql = "SELECT * FROM respondent_data WHERE respondent_firstname = 'John'"; 
$result = mysqli_query($conn, $sql); 

if (mysqli_num_rows($result) > 0) { 

    $i=0; 
    while($row = mysqli_fetch_assoc($result)) { 

    $categoriesTest[$i]["respondent_sdo"] = $row["respondent_sdo"]; 
    $categoriesTest[$i]["respondent_dcto"] = $row["respondent_dcto"]; 
    $categoriesTest[$i]["respondent_ed"] = $row["respondent_ed"]; 
    $categoriesTest[$i]["respondent_ca"] = $row["respondent_ca"]; 
    $categoriesTest[$i]["respondent_dhpt"] = $row["respondent_dhpt"]; 
    $categoriesTest[$i]["respondent_irt"] = $row["respondent_irt"]; 
    $categoriesTest[$i]["respondent_gl"] = $row["respondent_gl"]; 
    $categoriesTest[$i]["respondent_il"] = $row["respondent_il"];  

    $i++; 

    } 

    var_dump($categoriesTest); 

} 
+2

$ categoriesTest [] = $ row; 全く同じことを... –

+0

@AneesSaban yep;)しかし、もし私たちが配列キーを必要としないなら、mysqli_fetch_rowを使わないのはなぜですか? –

+0

あなたは$ categoriesTest [] = $ rowを知っています。配列キーを保持するでしょうか?そうでなければあなたの意見は分かりません。 :P –

関連する問題