PHP初心者の為、説明に不足があるかもしれませんがご了承頂きたく存じます。
DBから受信したCSVデータをPHPで抽出してHTMLのリストとCSVファイルに反映させたいのですが、PHPにて抽出した結果がHTMLファイル上に結果が表示されず、PHPファイル上に出力されます。色々、ネットで調べたりしたのですが、解決できませんでした。
PHPにお詳しい方、ご教授頂けますと幸いで御座います。宜しくお願い致します。

■動作について
・DBとの接続動作に問題は御座いません。
・リストボックスからの抽出動作にも問題御座いません。

■実現したいこと
・ブラウザにてsearch.phpに抽出結果が表示されます。
その抽出結果をindex.phpのリストに反映させたいです。

■抽出に使用したcsvファイル(list.csv)

    item1,item2
    富士山,テスト1                
    信濃川,テスト2                
    箱根山,テスト3                
    利根川,テスト4 

■HTMLファイル(index.php)

  <!DOCTYPE html>
  <html lang="ja">
  <head>
  <meta charset="utf-8">
  </head>
  <body>
  <div id="contents">
          <h3>リスト</h3><br>
      <div id="app">
          <sortable-table :columns="columns" :rows="rows">
          </sortable-table>
      </div>

  <!-- DBのデータをPHPで処理 -->
  <?php

   // PostgreSQLに接続
   $conn = pg_connect('host=localhost dbname=test user=XXXX password=XXXX');

   // CSVファイルをセットする。SQL文を実行 ディレクトリはフルパス
   //tmpフォルダには権限を付与すること!変更が必要
   $query = "COPY m_test TO '/Applications/MAMP/htdocs/web4/tmp/list.csv' CSV HEADER";
   //下は、field_aのadd_1のみ
   //$query = "COPY (SELECT * FROM test_json WHERE field_a = 'add_1') TO '/Applications/MAMP/htdocs/web5/tmp/list.csv' CSV HEADER";

   $result = pg_query($conn, $query);

   // SQL文を実行 リスト用 http://php.net/manual/ja/function.pg-query-params.php

   //カテゴリーを抽出して表示する方法
   $result = pg_query("SELECT * FROM m_test");

   // 全てのデータを配列で取得
   $data = pg_fetch_all($result);

   print "<table id=\"dblist\" summary=\"PostgreSQLのデータベースの一覧\">\n";

   //テーブルヘッダとしてフィールド(カラム)名を出力
   print "<thead><tr>\n";
   $flds = pg_num_fields($result);
   for($i=0; $i<$flds; $i++){
       $field = pg_field_name($result, $i);
       printf("<th abbr=\"%s\">%s</th>\n", $field, $field);
   }
   print "</tr></thead>\n";

   //データの出力
   foreach($data as $rows){
       print "<tr>\n";
       foreach($rows as $value){
           printf("<td>%s</td>\n", $value);
       }
       print "</tr>\n";
   }
      print "</table>\n";

   // PostgreSQLを切断
   $close = pg_close($conn);

  ?>
  <!-- リストEND -->

  <!-- CSVダウンロード -->
  <div class="csvbutton">
      <a id="download" href="tmp/list.csv" download="tmp/list.csv" onclick="handleDownload()">CSVダウンロード</a>
  </div>
  <!-- CSVダウンロードEND -->

      </div><!-- /#main -->
  <!-- 右メニュー -->
      <div id="ham-menu">
              <form action="search.php" method="post">
          <ul class="submenu">
              <li> 項目:<select name= "categorysearch">
                  <option value="yama">山</option>
                  <option value="kawa">川</option>
          <option value="all">すべて</option>
                              </select>
              </li>
          </ul>
          <p class="button"><input type="submit" value="抽出"onclick="" class="clickBtn()" style="width:100px;height:30px"></p>
      </form>
  </div>

  <!-- 右メニューEND -->
  <div id="menu-background"></div>
  </div><!-- /#contents -->
  <footer>

  </footer>
  <div class="totop"><a href="#"><img src="images/totop.png" alt="ページのトップへ戻る"></a></div><!-- /.totop -->
  </body>
  </html>

■抽出実行ファイル(search.php)

  <?php

   // PostgreSQLに接続
   $conn = pg_connect('host=localhost dbname=test user=XXXX password=XXXX');

  $form=$_POST["categorysearch"];

   // CSVファイルをセットする。SQL文を実行 ディレクトリはフルパス
   //tmpフォルダには権限を付与すること!
   $query = "COPY m_test TO '/Applications/MAMP/htdocs/web4/tmp/list.csv' CSV";
   $result = pg_query($conn, $query);

   switch ($form) {
     case 'yama':
       echo '山';
       $result = pg_query("SELECT * FROM m_test WHERE item1 = '富士山' OR  item1 = '箱根山'");
       break;
     case 'kawa':
       echo '川';
       $result = pg_query("SELECT * FROM m_test WHERE item1 = '信濃川' OR  item1 = '利根川'");
       break;
     case 'all':
       echo 'すべて';
      $result = pg_query("SELECT * FROM m_test");
       break;
   }

   // 全てのデータを配列で取得
   $data = pg_fetch_all($result);
   print "<table id=\"dblist\" summary=\"PostgreSQLのデータベースの一覧\">\n";

   //テーブルヘッダとしてフィールド(カラム)名を出力
   print "<thead><tr>\n";
   $flds = pg_num_fields($result);
   for($i=0; $i<$flds; $i++){
       $field = pg_field_name($result, $i);
       printf("<th abbr=\"%s\">%s</th>\n", $field, $field);
   }
   print "</tr></thead>\n";

   //データの出力
   foreach($data as $rows){
       print "<tr>\n";
       foreach($rows as $value){
           printf("<td>%s</td>\n", $value);
       }
       print "</tr>\n";
   }
      print "</table>\n";

   // PostgreSQLを切断
   $close = pg_close($conn);
  ?> 

■補足事項
・PHPバージョン 5.6.30
・postgrespsqlバージョン 10.5

■PHPエラー
search.phpの42行目にエラーが発生しております。
※42行目の該当コードは以下です。
「 foreach($data as $rows){」

■PHPエラー内容
PHP Warning: Invalid argument supplied for foreach() in /Applications/MAMP/htdocs/web9/search.php on line 42

■ 「pg_fetch_all($result」をvar_dumpした際の結果(「山に」て検索)
山array(2) { [0]=> array(2) { ["item1"]=> string(16) "富士山 "
["item2"]=> string(16) "テスト1 " } [1]=> array(2) {
["item1"]=> string(16) "箱根山 " ["item2"]=> string(16) "テスト3 " } }