2

ID、EmbedURL、Nameの3つの列(フィールド?)しかない「Videos」というMySQLデータベーステーブルがあります。

実際のindex.htmlでPHP(または何か)を使用して、DBからランダムなYouTubeビデオを取得し、EmbedURLをiFrameに入れて、ユーザーがボタンをクリックしたとき(またはページを更新したとき)に別のボタンをクリックしたいデータベースからのランダムなビデオがロードされます。

私は次のように、iframeを埋め込んでこれを行うことができることを知っています:

<iframe width="560" height="315" src="http://www.youtube.com/embed/T0Jqdjbed40?playlist=SyoA4LXQco4,6l6PPvUhR4c" frameborder="0" allowfullscreen></iframe>

しかし、私このシンプルな1ページのWebサイトに、大きくて楽しく魅力的なクリックボタンが必要です。iframe埋め込みプレーヤーには、この退屈な「次へ」ボタンがあります。

以下はこれまでの私のコードです。最初のステップとして、データベースに保存されているEmbedURLをページに表示できるかどうかを確認しようとしていましたが、ページに何もエコーされておらず、iframeの問題に対処していないことがわかりました。

私はかなり徹底的な検索(60分)を行いましたが、ピースを完全にまとめることができません。クエリphpMyAdminで機能しています。

どんなポインタでもありがたいです。

[編集:私のウェブホストはPHPv。5.2.17を実行しています]。

<?php
    mysql_connect("localhost", "admin", "xxxxxxx") or die(mysql_error());
    mysql_select_db ("my_db_name") or die(mysql_error());

    $select = mysql_query("SELECT EmbedURL FROM `Videos` ORDER BY RAND() LIMIT 1");
   while($row = mysql_fetch_assoc($select)) {
?>              

    <p><?php echo $row ['EmbedURL']  ?></p>
4

2 に答える 2

0

それはあなたが実行しているスクリプトですか?最後の行にはセミコロンがないようです。

それ以外の場合は問題ないようです。ただし、Marc Bが指摘しているように、whileループが1つだけの場合は、whileループを使用する必要はありません。そして、ファニスが述べたように、エラーチェックを行う必要があります。

于 2012-10-12T21:26:54.107 に答える
0

彼らはmysql呼び出しを廃止しているようで、代わりにmysqliオブジェクト指向呼び出しを使用することをお勧めします。

http://us3.php.net/manual/en/function.mysql-connect.php

<?php
    $mysqli = new mysqli("host", "username", "password", "database name");
    if ($mysqli->connect_errno) {
        echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error;
    }
    echo $mysqli->host_info . "\n";

    $res = $mysqli->query("SELECT EmbedURL FROM `Videos` ORDER BY RAND() LIMIT 1");
    $row = $res->fetch_assoc();
?>            

<iframe width="560" height="315" src="<?php echo $row['EmbedURL']; ?>" frameborder="0" allowfullscreen></iframe>

<p><?php echo $row['EmbedURL'];?></p>

これは、php5.4を実行しているローカルサーバーで機能しました。コンストラクターに関する最初のコメントでは、5.2.9より前のバージョンのphpを使用している場合は、別のコマンドセットを使用することをお勧めします。

于 2012-10-12T22:47:35.277 に答える