我该如何设计呢?

时间:2012-04-14 13:47:27

标签: php mysql

因此;我是一个PHP菜鸟,我正试图让一个网站工作,作为一个有趣的副项目。我目前有一个带歌词的数据库,谁唱过那些歌词等等。现在我用以下代码回复这些到LYRICS.PHP:

的functions.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 }     
}

Lyrics.php?ID = 1

<?php getLyric(); ?>

哪个有效,但如何在页面的[title]标签中显示歌曲的歌手和名字? (目前它只是简单的HTML)。我现在如何设计它,我认为这不可能吗?

3 个答案:

答案 0 :(得分:3)

这是你能做的。它不是太漂亮,它绝对可以简化,但它应该得到你想要的东西。

HTML

Lyrics.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 } ?>   
}

答案 1 :(得分:2)

这取决于您输出HTML的方式。如果您在lyrics.php中使用内嵌HTML,那么您可以执行以下操作:

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

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

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

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

答案 2 :(得分:0)

你可以使你的函数从该查询的结果中返回一个数组或对象,然后输出你想要的数组项,而不是让你的函数生成标记。 还要考虑对传递给GET变量

的值进行一些过滤