1

データベースに保存されているURLが正しく表示されないという問題があります。これが私のコードです:

    $sqlCommand = 
       "SELECT  rotator.title, rotator.imageURL, rotator.targetURL, rotator.caption  FROM rotator   
        WHERE ( ( rotator.visible = '1' )
        OR ( rotator.visible = '2' AND ( NOW() BETWEEN rotator.schedstart AND rotator.schedstop ) ) )
        ORDER BY rotator.displayorder ASC";
    $query = mysqli_query($myConnection,$sqlCommand) or die (mysqli_error($myConnection));

    $rotatorsDisplay = '';
    while ($row = mysqli_fetch_array($query)){
        $rotatorstitle = $row["title"];
        $rotatorsimg = $row["imgURL"];
        $rotatorsURL = $row["targetURL"];
        $rotatorscaption = $row["caption"];

        $rotatorsDisplay .= '<li>
                <a href="'. $rotatorsURL .'"><img src="'. $rotatorsimg .'"></a>
                <div id="title">'. $rotatorstitle .'</div>
                <div class="caption">'. $rotatorscaption .'</div>
            </li>';
    }
    mysqli_free_result($query);

私に問題を引き起こしているのは$rotatorsimg変数です。データベースに、次のようなrotator.imageURLの値を手動で入力しました:'images / rotator / name.jpg'ですが、データベースからクエリを実行する場合は、$rotatorsDisplay変数に追加してからこのコードで出力します。 :

    <?php echo $rotatorsDisplay; ?> 

結果のページに表示されるのはこれだけです。

    <a href="doctor.php"><img src=""></a>

これが機能しない理由は、URLのスラッシュにあると確信しています。また、データベースに入力したコードから特殊文字を削除するためにHTMLをエンコード/変換し、出力時にデコード/変換してHTMLに戻す必要があることも確信していますが、この情報を手動でデータベースに入力したため、 phpMyAdmin、これを行う方法はまだわかりません。

どんな助けでも大歓迎です!

4

1 に答える 1

3

間違ったインデックスキーを使用しているようです。

$rotatorsimg = $row["imgURL"];

おそらく

$rotatorsimg = $row["imageURL"];

それがデータベースからクエリしているものだからです。

于 2012-09-14T23:41:39.087 に答える