使用PHP,Mysql和jquery创建和应用程序,我被卡住了

时间:2011-09-03 01:17:42

标签: php mysql

我想创建一个应用程序,将基本的音乐和弦图表写入数据库并将其拉出到另一个页面。
我知道插入数据和将数据返回到数据库的基本到中间概念,但我遇到了这个问题。

在textarea中,我希望该成员能够像这样插入数据库...

{C}I`ve {F}been {G}though {A}the {C}desert

括号内的字母为和弦,括号外的字母为歌词 这不是问题,我知道该怎么做。

问题是,我希望{Chords}直接放在他们前面的字母上方,同时还给他们一个类,允许我在渲染时更改字体颜色,大小和重量页面。

我一直在想有一种方法可以用table,str_replace和strTok做到这一点,但我无法弄明白。

有什么建议吗?

2 个答案:

答案 0 :(得分:0)

  • 使用正则表达式将{}的内容提取到数组中
  • str_replace {}为空白(空格),在某种程度上你将有明文除了和弦字母
  • 使用html css,将和弦字母放在span标签中。更改span的css,使其位于字母上方。即跨度位置是绝对位置,父级容器位置是相对位置。
  • 如果您想将这些和弦保存到表格中,您可以将其作为已存在的数组

希望这有帮助,祝你好运

答案 1 :(得分:0)

使用HTML表格可能会非常痛苦。以下是如何在不使用表格的情况下执行HTML部分:

<style>
.phrase { display: inline-block; }
.chord { font-size: 20px; }
.lyrics { font-size: 12px; margin-right: 1em; }
</style>

<div class="phrase">
    <span class="chord">C</span><br>
    <span class="lyrics">I've</span>
</div>

并将一点点PHP混合在一起:

<?php
$phrases = array(
    array('chord' => 'C', 'lyrics' => "I've"),
    array('chord' => 'F', 'lyrics' => 'been'),
);
?>
<?php foreach($phrases as $phrase): ?>
<div class="phrase">
    <span class="chord"><?php echo $phrase['chord']; ?></span><br>
    <span class="lyrics"><?php echo $phrase['lyrics']; ?></span>
</div>
<?php endforeach; ?>

至于保存/从数据库中检索。你可以做一些花哨的正则表达式/字符串替换的东西,但这可能比你真正需要做的更多的工作。只需保持简单并创建如下结构:

Songs           Example
---------       -----------
id (PK)         1234
song_title      I've been through the desert

Phrases
-----------
id (PK)         1
song_id (FK)    1234
chord           C
lyrics          I've
order           1

您的Phrases表格中会有更多行,但使用起来会容易得多。

另外,作为最终的,有偏见的建议:检查Ruby on Rails。我开始学习PHP,并希望在我的职业生涯早期学习Ruby on Rails。 Ruby on Rails有很多方法可以让初学者轻松开始编程。