1. ホーム
  2. php

[解決済み] 複数レコードの出力 php

2022-02-08 09:44:42

質問内容

MySQLのテーブルの設定がうまくいっていないようです。私は、他のものは重要ではありませんが、その後、id、movielink1、movielink2、movielink3、movielink4、movielink5

それぞれについて、movielink#が存在する場合のみ、ボタンを表示させたい。ほとんどの場合、movielink1だけが埋まっています。

見方が間違っているだけだと思うのですが。以下は私のコードです。

             <?php 
            $data2 = mysql_query("SELECT movielink1,movielink2,movielink3,movielink4,movielink5 FROM movies WHERE id=$id");
            if (mysql_num_rows($data2) > 0 ) {
            while($info2 = mysql_fetch_array($data2)) {
                Print '<a href="'.$info['movielink1'];.'?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframes]" title="'.$info['title'];.'"><img src="http://tipmypicks.com/cssmovie/images/watchmovie.png" class="watchmovie"></a>';
                }
            } else {
                Print 'Error!'; 
            }
            ?>

提案をありがとう、私はちょうどこれを追加しましたが、そのはまだ正しく動作していない、また、それにアプローチするための素晴らしい方法です。

        $data1 = mysql_query("SELECT movielink1 FROM movies WHERE id=$id");
        if (mysql_num_rows($data1) > 0 ) {
        while($info1 = mysql_fetch_array($data1)) {
            Print '<a href="'.$info['movielink1'].'?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframes]" title="'.$info['title'].'"><img src="http://tipmypicks.com/cssmovie/images/watchmovie.png" class="watchmovie"></a>';
            }
        } else {
        }

        $data2 = mysql_query("SELECT movielink2 FROM movies WHERE id=$id");
        if (mysql_num_rows($data2) > 0 ) {
        while($info2 = mysql_fetch_array($data2)) {
            Print '<a href="'.$info['movielink2'].'?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframes]" title="'.$info['title'].'"><img src="http://tipmypicks.com/cssmovie/images/watchmovie.png" class="watchmovie"></a>';
            }
        } else {
        }
        $data3 = mysql_query("SELECT movielink3 FROM movies WHERE id=$id");
        if (mysql_num_rows($data3) > 0 ) {
        while($info3 = mysql_fetch_array($data3)) {
            Print '<a href="'.$info['movielink3'].'?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframes]" title="'.$info['title'].'"><img src="http://tipmypicks.com/cssmovie/images/watchmovie.png" class="watchmovie"></a>';
            }
        } else {
        }
        $data4 = mysql_query("SELECT movielink4 FROM movies WHERE id=$id");
        if (mysql_num_rows($data4) > 0 ) {
        while($info4 = mysql_fetch_array($data4)) {
            Print '<a href="'.$info['movielink4'].'?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframes]" title="'.$info['title'].'"><img src="http://tipmypicks.com/cssmovie/images/watchmovie.png" class="watchmovie"></a>';
            }
        } else {
        }
        $data5 = mysql_query("SELECT movielink5 FROM movies WHERE id=$id");
        if (mysql_num_rows($data5) > 0 ) {
        while($info5 = mysql_fetch_array($data5)) {
            Print '<a href="'.$info['movielink5'].'?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframes]" title="'.$info['title'].'"><img src="http://tipmypicks.com/cssmovie/images/watchmovie.png" class="watchmovie"></a>';
            }
        } else {
        }

解決方法は?

あなたのコードには、小さな問題がいくつもあります。例えば、resultsから行を取得し、それを $info2 を呼び出したが、その後 $info .

以下は、あなたのコードを修正したものです。

$sqlResults = mysql_query("SELECT * FROM movies WHERE id=$id");

if (mysql_num_rows($sqlResults) > 0 ) {
    while($sqlRow = mysql_fetch_array($sqlResults)) {
        if (!empty($sqlRow['movielink1'])) {
            print '<a href="' . $sqlRow['movielink1'] . '?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframes]" title="' . $sqlRow['title'] . '"><img src="http://tipmypicks.com/cssmovie/images/watchmovie.png" class="watchmovie"></a>';
        }
        if (!empty($sqlRow['movielink2'])) {
            print '<a href="' . $sqlRow['movielink2'] . '?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframes]" title="' . $sqlRow['title'] . '"><img src="http://tipmypicks.com/cssmovie/images/watchmovie.png" class="watchmovie"></a>';
        }
        if (!empty($sqlRow['movielink3'])) {
            print '<a href="' . $sqlRow['movielink3'] . '?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframes]" title="' . $sqlRow['title'] . '"><img src="http://tipmypicks.com/cssmovie/images/watchmovie.png" class="watchmovie"></a>';
        }
        if (!empty($sqlRow['movielink4'])) {
            print '<a href="' . $sqlRow['movielink4'] . '?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframes]" title="' . $sqlRow['title'] . '"><img src="http://tipmypicks.com/cssmovie/images/watchmovie.png" class="watchmovie"></a>';
        }
        if (!empty($sqlRow['movielink5'])) {
            print '<a href="' . $sqlRow['movielink5'] . '?iframe=true&width=100%&height=100%" rel="prettyPhoto[iframes]" title="' . $sqlRow['title'] . '"><img src="http://tipmypicks.com/cssmovie/images/watchmovie.png" class="watchmovie"></a>';
        }

    }
} 
else 
{
    print 'Error!'; 
}