2016-04-26 3 views
-3

私はこのコードを持っていますが、私はそれを実行すると、それは私にエラーを与える(お知らせ:不定オフセット:1 Cで:\ WAMP \ WWW \ test3.phpライン$str[$row['term_no']] += ",".$row['code'];上)PHP言語で配列を使用する方法

方法この問題を解決できますか?

<?php 

$con = mysqli_connect('localhost', 'root', ''); 
mysqli_select_db($con, "uoh"); 
$q = " SELECT * FROM `degree_plan` LEFT JOIN courses ON 
    degree_plan.course_number=courses.course_number 
    where major='COE'"; 

$result = mysqli_query($con, $q); 
if ($result) { 

    $str = []; 
    while ($row = mysqli_fetch_array($result)) { 
     { 
      $str[$row['term_no']] += "," . $row['code']; 
     } 
     foreach ($str as $key => $value) { 

      echo $value; 
      echo $key; 
     } 

    } 
} 

?> 
+1

'、RTFM' .... –

+1

[PHPアレイ]についての記事を読む(http://php.net/manual/e n/language.types.array.php)。 – axiac

+0

その行が何をしようとしているのかわかりませんが、array_push()はおそらく近いです。 –

答えて

0

コードでは、定義されていない1つの要素にすべてのコードを配置しています。

変更この:これに

$str[$row['term_no']] += ",".$row['code']; 

$str[$row['term_no']] = $row['code']; 
0

配列要素が存在するので、最初の要素をチェックしないため、エラーが発生した:場合は、追加し、それが存在する場合それは、作成されません。すべてが他に失敗した場合は

while($row = mysqli_fetch_array($result)) 
{ 
    if (isset($str[$row['term_no']])) // IF ELEMENT EXISTS... 
     $str[$row['term_no']] .= ",".$row['code']; // ADD TO ELEMENT. 
    else $str[$row['term_no']] = $row['code']; // CREATE ELEMENT. 
} 
+0

@ JAMES、この答えでは、 '。='を使っているので、1つの "term_no"の下にすべてのコードを蓄積することができます。 '='だけするとコードが累積されず、最後のコードしか持たないでしょう。 –

関連する問題