0

それで; 私は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です)。今のデザインでは、それは不可能だと思いますか?

4

3 に答える 3

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 } ?>   
}
于 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 に答える