繁体   English   中英

PHP如何处理$ _GET变量

[英]PHP How to handle $_GET varibles

我正在学习PHP。 制作歌集网站的用户可以找到歌曲歌词和其他内容。 在这里,我没有。 我想在单独的字母页面中列出它们。

$songbook = array( 

"a" => array( 
"153" => array( "title" => "", "content" => "", "tags" => "",),
"154" => array( "title" => "", "content" => "", "tags" => "",),
),

"b" => array( 
"155" => array( "title" => "", "content" => "", "tags" => "",),
"156" => array( "title" => "", "content" => "", "tags" => "",),
),

"c" => array( 
"157" => array( "title" => "", "content" => "", "tags" => "",),
"158" => array( "title" => "", "content" => "", "tags" => "",),
),);

歌曲表。

<table class="list">
<tbody>
<?php foreach ($songbook as $song => $lyric) { ?>

<tr><td class="title"><a href="publicsong.php?id=<?php echo $song; ?>"><?php echo $lyric["title"]; ?></a></td>
<td class="artist"><?php echo $lyric["artist"]; ?></td>
<td class="category"><?php echo $lyric["tags"]; ?></td>
</tr>
<?php } ?>
</tbody>

publicsong.php?id=153

if(isset($_GET['id'])) {
        $songbook = strip_bad_chars( $_GET['id'] );
        $song = $songbook[$songbook];
    }

如果我删除字母数组"a" => array( "b" => array( "c" => array(一切都会正常,但是我想要这个publicsearch.php?browse=a页面, publicsearch.php?browse=a页面按字母顺序显示歌曲列表。

我不知道如何处理多维数组。

这个http://mysongbook.ca/网站可以帮助您更好地理解。 请转到链接。 左侧有一个导航菜单(字母ABCDEF G ..),导航到艺术家歌曲列表。 该列表指向id内容等页面。 我想在我的网站中使用此网站方法。 请帮忙。 我是新手,被困住了。 谢谢。

最好有两个数组。 一个数组包含所有歌曲详细信息,并按歌曲ID索引。 第二个数组将按字母顺序将它们分组:

$allSongs = array(
    "153" => array( "title" => "", "content" => "", "tags" => "",),
    "154" => array( "title" => "", "content" => "", "tags" => "",),
    "155" => array( "title" => "", "content" => "", "tags" => "",),
    "156" => array( "title" => "", "content" => "", "tags" => "",),
    ...
);
$alphaSongs = array(
    'a' => array(153, 154);
    'b' => array(155, 156);
    ...
);

然后,您可以使用$allSongs[$_GET['id']]查找具有ID的歌曲。

您还可以使用其他数组,例如$authorSongs$genreSongs

如果您实际上是这样做的,则可能会使用数据库而不是数组。

暂无
暂无

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

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