【发布时间】:2015-07-22 19:00:44
【问题描述】:
每个人。我在这里遇到了一些 PHP 难题,但找不到已经存在的好答案。你看,我正在做一个项目,我必须使用一个同学的唱片网站并用 PHP 对其进行修改,而不是硬编码专辑封面和曲目列表,它会查询数据库中的它们。我的问题是我必须保持他网站的整体风格不变,而我在这样做时遇到了麻烦。基本上,他的风格取决于 div 标签中的专辑封面、名称和曲目列表,而他的风格是通过 Bootstrap 和他自己的自定义 CSS 样式表实现的。
在我开始闲逛之前,我的问题是:有没有办法将循环输出包装在 HTML 标记中?我需要在 div 标签中获取专辑封面、专辑名称和曲目列表,但只有曲目列表循环。这是我用来查询数据库的代码:
<?php
require ('mysqli_connect.php');
// Connect to database server
mysql_connect("localhost", "admin", "instructor") or die(mysql_error());
// Select database
mysql_select_db("phprediscography") or die(mysql_error());
// SQL query
$q = "SELECT DISTINCT albums.albumname, albums.albumID, albums.coverart
FROM albums
JOIN tracks
ON albums.albumID=tracks.albumID"; //select UNIQUE results from database
$t = "SELECT trackname FROM tracks WHERE albumID = 1";
$b = "SELECT trackname FROM tracks WHERE albumID = 2";
$n = "SELECT trackname FROM tracks WHERE albumID = 3";
$r = "SELECT trackname FROM tracks WHERE albumID = 4";
$result = mysqli_query($dbcon, $q);
$result1 = mysqli_query($dbcon, $t);
$result2 = mysqli_query($dbcon, $b);
$result3 = mysqli_query($dbcon, $n);
$result4 = mysqli_query($dbcon, $r);
while ($row = mysqli_fetch_array($result, MYSQLI_ASSOC)) { //loop through database to get each album
echo '<img class="img-responsive" src=' . $row['coverart'] . '>' . '<br />';
echo '<h2>' . $row['albumname'] . "</h2><br />";
if ($row['albumID'] == 1) {
foreach($result1 as $row1) { //loop through tracks and output to page
echo '<p>' . $row1['trackname'] . '</p>';
}
}
if ($row['albumID'] == 2) {
foreach($result2 as $row2) { //loop through tracks and output to page
echo '<p>' . $row2['trackname'] . '</p>';
}
}
if ($row['albumID'] == 3) {
foreach($result3 as $row3) { //loop through tracks and output to page
echo '<p>' . $row3['trackname'] . '</p>';
}
}
if ($row['albumID'] == 4) {
foreach($result4 as $row4) { //loop through tracks and output to page
echo '<p>' . $row4['trackname'] . '</p>';
}
}
}
// Close the database connection
mysql_close();
?>
如果我需要发布任何其他内容,请告诉我,这是我的第一个问题,所以我只是感觉一下。
【问题讨论】:
-
mysql_connect()/mysql_select_db()不与mysqli_query()/mysqli_fetch_array()混合使用。我假设那些mysql_connect()/mysql_select_db()是应该删除的旧代码行,就像你有require('mysqli_connect.php');? -
您的代码工作正常吗?然后我会为你提供解决方案。