0

所以; 我是 PHP 菜鸟,我正试图让一个网站工作,作为一个有趣的副项目。我目前有一个包含歌词的数据库,以及谁唱了这些歌词等。现在我使用以下代码将这些回显到 LYRICS.PHP:

函数.php

function getLyric() {
(int)$id = $_GET['id'];
$query = mysql_query("SELECT * FROM lyrics WHERE id = ".$id."") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) { ?>
    <h1><?= $row['title']; ?> lyrics</h1>
    <h2><?= $row['author']; ?></h2>

    <pre><?= $row['lyrics']; ?></pre>
    <?php }     
}

歌词.php?id=1

<?php getLyric(); ?>

哪个有效,但是如何在页面的 [title] 标签中显示歌手和歌曲名称?(目前它只是普通的 html)。以我现在的设计方式,我认为这是不可能的,对吧?

4

3 回答 3

3

这是你可以做的。它不太漂亮,绝对可以简化,但它应该可以完成您想要的工作。

HTML

歌词.php?id=1

<html>
<head>
<title><?php getTitle(); ?></title>
</head>
<body>
<?php getLyric(); ?>
</body>

PHP

function getLyric() {
(int)$id = $_GET['id'];
$query = mysql_query("SELECT * FROM lyrics WHERE id = ".$id."") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) { ?>
    <h1><?= $row['title']; ?> lyrics</h1>
    <h2><?= $row['author']; ?></h2>

    <pre><?= $row['lyrics']; ?></pre>
    <?php }     
}

function getTitle() {
(int)$id = $_GET['id'];
$query = mysql_query("SELECT * FROM lyrics WHERE id = ".$id."") or die(mysql_error());
while ($row = mysql_fetch_assoc($query)) { ?><?= $row['title']; ?> by <?= $row['author']; ?><?php } ?>   
}
于 2012-04-14T14:02:37.190 回答
2

这取决于您如何输出 HTML。如果您在 中使用内联 HTML lyrics.php,则可以执行以下操作:

<html>
<head>
...
<title><?php echo getTitle(); ?></title>
...

如果您正在回显一串 HTML,那么您可以执行以下操作:

echo "<title>" . getTitle() . "</title>"

显然,您需要先制作该getTitle功能。

于 2012-04-14T13:53:12.363 回答
0

您可以使您的函数从该查询的结果中返回一个数组或对象,然后将数组项输出到您想要的位置,而不是让您的函数生成标记..还可以考虑对传递给 GET 变量的值进行一些过滤

于 2012-04-14T14:01:49.303 回答