繁体   English   中英

我该如何设计?

[英]How do I design this?

所以; 我是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)。 用我现在的设计,我认为这不可能吗?

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

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

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

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

如果您要回显HTML字符串,则可以执行以下操作:

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

显然,您需要先使getTitle函数。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM