0

我刚刚购买了一个很棒的小型 HTML5 视频播放器,但添加文件的方法是编辑页面的实际 html。

这很糟糕,所以我要做的是在页面加载时借助包含适当数据的 MySQL 表填充 UL。

此页面的列表如下所示:

              <ul id='playlist1' data-address="playlist1">
                 <li data-address="local1" class='playlistItem' data-type='local' data-mp4Path='data/media/video/big_buck_bunny_trailer.mp4' data-ogvPath='data/media/video/big_buck_bunny_trailer.ogv' data-imagePath='data/media/video/big_buck_bunny_trailer.jpg' data-thumbPath='data/media/thumb/big_buck_bunny_trailer.jpg' data-aspectRatio='2'></li>
                 <li data-address="local2" class='playlistItem' data-type='local' data-mp4Path='data/media/video/big_buck_bunny_trailer.mp4' data-ogvPath='data/media/video/big_buck_bunny_trailer.ogv' data-imagePath='data/media/video/big_buck_bunny_trailer.jpg' data-thumbPath='data/media/thumb/big_buck_bunny_trailer.jpg' data-aspectRatio='2'></li>
                 <li data-address="local3" class='playlistItem' data-type='local' data-mp4Path='data/media/video/big_buck_bunny_trailer.mp4' data-ogvPath='data/media/video/big_buck_bunny_trailer.ogv' data-imagePath='data/media/video/big_buck_bunny_trailer.jpg' data-thumbPath='data/media/thumb/big_buck_bunny_trailer.jpg' data-aspectRatio='2'></li>
              </ul>

非常基本的清单。所以这可能是我似乎无法找到正确答案的基本事情。

我想“获取”我在这样读取的数据库表中的值(这些是列标题,数据将在下面的行中):

 id | data-address | data-imagePath | data-thumbPath | data-mp4Path | data-ogvPath | data-webmPath | title | desc | ord

我对 php 和 javascript 的了解正在增长,但调用 MySQL 表是我试图掌握的东西。

我在下面尝试的是在头脚本中声明以下变量:(取自http://www.php.net/manual/en/function.mysql-fetch-object.php

 $data-mp4Path = mysql_query("select * from mytable");
 while ($row = mysql_fetch_object($data-mp4Path)) {
   echo $row->data-mp4Path;
 }
 mysql_free_result($data-mp4Path);

然后在适当的列表字段中调用 php,如下所示:

 data-mp4Path='<? $data-mp4Path ?>'

但是,输出不会像我认为脚本应该存储到 $data-mp4Path 变量中那样解析表格单元格数据...

任何帮助将不胜感激!

_ 更新 _

在@peterm 的帮助下,我尝试使用随相应数据库字段和相应调用提供的代码。

这是浏览器输出的最终结果:

 <ul id="playlist1" data-address="playlist1">
                <!--?php
                $db = new PDO('mysql:host=localhost;dbname=wordpress;charset=UTF-8', 'root', 'root');
                $sql = "SELECT * FROM `wp_localTestinglbg_vp2_html5_rightside_videoplaylist`";
                foreach ($db--->query($sql) as $row) {
                    $li  = '<li data-address="local' .$row['id']. '" ';="" $li="" .=" class=&quot;playlistItem&quot; data-type=&quot;local&quot;" ;="" .$row['mp4'].="" '"';="" .$row['ogv'].="" .$row['data-imagepath'].="" .$row['data-thumbpath'].="" echo="" $li;="" }="" $db="null;" ?="">
                </li></ul>

这个工作作为一个循环并将新的 LI 项目输出到播放列表的梦想会很棒,但它还没有工作。

__ 更新 __

清理代码后,UL标签之间的输出现在是空白的。输出如图所示:

 <ul id="playlist1">
                </ul>

我删除了标签中的“data-address=playlist1”。

4

1 回答 1

1

Your code to generate <li>'s using PDO instead of mysql_* might look like this

... your preceding html
<ul>
<?php
$db = new PDO('mysql:host=localhost;dbname=yourdb;charset=UTF-8', 'user', 'password');
$sql = "SELECT * FROM `mytable`";
foreach ($db->query($sql) as $row) {
    $li  = '<li data-address="' .$row['data-address']. '"';
    $li .= ' class="playlistItem" data-type="local"';
    $li .= ' data-mp4Path="' .$row['data-mp4Path']. '"';
    $li .= ' data-ogvPath="' .$row['data-ogvPath']. '"';
    $li .= ' data-imagePath="' .$row['data-imagePath']. '"';
    $li .= ' data-thumbPath="' .$row['data-thumbPath']. '"';
    $li .= ' data-aspectRatio="2"></li>';
    echo $li;
}
$db = null;
?>
</ul>
... your html continues here
于 2013-02-04T06:56:53.890 回答