0

ループでリストをエコーし​​、最後のコンマを削除する必要があります。これまでに行ったことはコンマの問題で機能しますが、href をエコーし​​ようとすると、すべての結果が 1 つの href タグに表示されます。

これは私のコードです

$select_actors=mysql_query("SELECT * FROM actors_in_movies WHERE  movie_ref='$movie_ref'");
if (mysql_num_rows($select_actors)>=1) {
    while ($row=mysql_fetch_array($select_actors)) {
        $actor_ref=$row['actor_ref'];  
        $select_actor_name=mysql_query("SELECT * FROM actors WHERE actors_ref='$actor_ref' AND     active='1'");
        while ($row_actor=mysql_fetch_array($select_actor_name)) {
            $actor_name .= $row_actor['actors_name'] . ", ";
        }
    }
    $actor_name = substr(trim($actor_name), 0, -1);
    echo'<a href="../actors/index.php?name='.$actor_name.'">'.$actor_name.'</a>';
}

名前1、名前2、名前3をリストするだけですが、それぞれに独自のURL(href)が必要です。

4

3 に答える 3

0

線を動かしてみる

$actor_name = substr(trim($actor_name), 0, -1);
echo'<a href="../actors/index.php?name='.$actor_name.'">'.$actor_name.'</a>';

while文の中で...

うまくいくと思います=)

于 2013-06-06T17:26:41.347 に答える
0

アクターが最初でない場合は、コンマを追加してから切り落とすのではなく、前に追加してみてください。

$select_actors=mysql_query("SELECT * FROM actors_in_movies WHERE  movie_ref='$movie_ref'");
if (mysql_num_rows($select_actors)>=1) {
    while ($row=mysql_fetch_array($select_actors)) {
        $actor_ref=$row['actor_ref'];  
        $select_actor_name=mysql_query("SELECT * FROM actors WHERE actors_ref='$actor_ref' AND     active='1'");
        $first = true;
        while ($row_actor=mysql_fetch_array($select_actor_name)) {
            if ($first) {
                // no comma first time
                $first = false;
            } else {
                // comma all other times
                echo ", ";
            }
            echo'<a href="../actors/index.php?name='.$row_actor['actors_name'] .'">'.$row_actor['actors_name'] .'</a>';
        }
    }

}

mysql_*また、関数は使用しないでください。それらは非推奨です。代わりに MySQLi または PDO を使用してください。

于 2013-06-06T17:44:41.623 に答える