1

URLを作成するためにループする関数があります。必要なのは、結果を単一の文字列で取得することです。これがコードです。

// Create URL for accesories
function create_url($id) {
  global $db_categories;

  // Select category sublevels
  $sql_cat="SELECT parent_id, seo_id FROM $db_categories WHERE category_id = '".$id."'";
  $catres = mysql_query("$sql_cat") or die (mysql_error());

  while($selected_cat = mysql_fetch_array($catres)) {
    $cat_seo = $selected_cat['seo_id']. "/";
    $output .= $cat_seo;
    create_url($selected_cat['parent_id']);
  }      
  return $output;
}

// Call function
$result_cat = create_url($cat["category_id"]);
echo $result_cat;

echo を使用して出力すると、これは正常に機能します (結果を追跡するために $depth のみを使用します)

category1/
category2/
category3/
etc...

問題は、結果をエコーする代わりに単一の文字列に返す方法がわからないことです。return を使用すると、最初の結果のみが出力されます。このような。

category1/

出力に戻りたい。

category1/category2/category3/

私は一生、これに対する解決策を見つけることができません。

ありがとう

4

0 に答える 0