2017-08-19 7 views
0

2つのMysql列から結果を照会するコードは以下のとおりです。私はそれらを1つの配列に保存したい。私は多くの質問と回答を通して行って、多くのことをしようとしたコードの下に管理さ:クエリ結果をPHP配列に格納し、インデックスごとに結果をエコーする

$query10 = $conn->query("SELECT CONCAT(step1, ' ', step2) AS A1 FROM workflow1 where nx_version='NX11IP33'"); 
$array10 = Array(); 
while($row = mysqli_fetch_assoc($query10)){ 
    $new_array[] = $row; // Inside while loop 
} 
print_r($new_array); 

電流出力:

Array ([0] => Array ([A1] => 10 2)) 

所望の出力:

Array ([0] => 10 [1] => 2) 

すべてのヘルプ。

+0

特に、SQLクエリでは、両方のカラムを1つのカラムに 'CONCAT()'する必要があります。そして、なぜ彼らは別々になるのではなく連結されているのか尋ねます。まあ... – arkascha

+0

私は、私はPHPに新しいです参照してください。どのようにしてクエリを変更できますか? –

+0

私は以下にいくつかの答えを掲載しました。あなたはあなたのデータスキームについて何も言わなかったので、私はそれを少し抽象的にしました。それが助けて、楽しみを持っていることを願って! – arkascha

答えて

2

具体的にはCONCAT()両方の列がSQLクエリで1つになります。そして、なぜ彼らは別々になるのではなく連結されているのか尋ねます。

<?php 
//... 
$query = $conn->query("SELECT step1, step2 FROM workflow1 WHERE nx_version='NX11IP33'"); 
if ($query) { 
    $result = []; 
    while($row = mysqli_fetch_assoc($query)) { 
     $result[] = $row; 
    } 
    print_r($result); 
} 

をその出力はこのようになります::nx_versionは一意のキーである場合

Array ( 
    [0] => Array ( 
     [step1] => 10 
     [step2] => 2 
    ) 
) 

ので、明らかに

答え、その後は別途両方の列を取得することですクエリ結果に1行しか表示されないことが保証されている場合は、次のように簡略化することができます。

あなたは(質問示唆にご希望の結果として)数値インデックスの代わりに連想するものを好む場合は使用した後、最後に

Array ( 
    [step1] => 10 
    [step2] => 2 
) 

mysqli_fetch_row():その

<?php 
//... 
$query = $conn->query("SELECT step1, step2 FROM workflow1 WHERE nx_version='NX11IP33' LIMIT 1"); 
if ($query) { 
    $result = mysqli_fetch_assoc($query); 
    print_r($result); 
} 

出力は次のようになりますmysqli_fetch_assoc()の代わりに

+0

はい、nx_versionは一意のキーです。私は2 htmlの表のセルのインデックスを使用して2つの値を印刷するので、あなたが投稿した2番目のコードが必要でした。ありがとうございました! –

+1

@SamadhanGaikwadよろしくお願いします!あなたのプロジェクトに幸運を祈る! – arkascha

関連する問題