0

私はこのコードを持っています:

<?
$kate=mysql_query("select category_id from movies_cat where movie_id='$ids'");
   while($cat=mysql_fetch_array($kate)){
      $kate2=mysql_query("select name_cat from categories where id='$cat[category_id]'");
        while($cat2=mysql_fetch_array($kate2)){
            print $cat2['name_cat'];
    }

   }

?>

これでカテゴリを表示します: ActionsComedyMystery と私は Actions,Comedy,Mystery を表示したい (最後にカンマなし)

4

3 に答える 3

0

カテゴリを配列に挿入し、それらをimplode()関数で連結します。

$result = implode(",", $items);

あなたの例では:

<?
$items = Array();

$kate=mysql_query("select category_id from movies_cat where movie_id='$ids'");
while($cat=mysql_fetch_array($kate)){
  $kate2=mysql_query("select name_cat from categories where id='$cat[category_id]'");
  while($cat2=mysql_fetch_array($kate2)){
    $items[] = $cat2['name_cat'];
  }
}

echo implode(",", $items);
?>

編集: MysqliとJoinを使用:

<?
$db = @new mysqli( 'host', 'user', 'pass', 'database' );

$items = Array();

$kate = $db->query("select movies_cat.category_id, categories.name_cat from movies_cat, categories where movies_cat.category_id = categories.name_cat AND WHERE movie_id='$ids'");
while($cat = $kate->fetch_array($kate)){
    $items[] = $kate['name_cat'];
}

echo implode(",", $items);
?>
于 2012-10-31T17:10:40.607 に答える
0

次のように、カテゴリを var に保存し、最後に最後の文字を省略してその変数をエコーすることができます。

$out = '';
$kate=mysql_query("select category_id from movies_cat where movie_id='$ids'");
   while($cat=mysql_fetch_array($kate)){
      $kate2=mysql_query("select name_cat from categories where id='$cat[category_id]'");
        while($cat2=mysql_fetch_array($kate2)){
            $out .= $cat2['name_cat'] . ',';
    }

   }

echo substr($out,0, -1);
于 2012-10-31T17:11:26.987 に答える
0

最初に変数を定義します。mysql_query の代わりに PDO を使用します。ロジックを最適化してみてください。

$category = ""

今、

$kate=mysql_query("select category_id from movies_cat where movie_id='$ids'");
   while($cat=mysql_fetch_array($kate)){
    $kate2=mysql_query("select name_cat from categories where id='$cat[category_id]'");
    while($cat2=mysql_fetch_array($kate2)){
        $category .= $cat2['name_cat'].",";
   }

 }

echo substr_replace($category ,"",-1);
于 2012-10-31T17:13:56.850 に答える