Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #1  
Old 03-17-2005, 10:02 AM
mkdevo mkdevo is offline
 
Join Date: May 2004
Location: CT, USA
Posts: 269
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Help needed from an experienced PHP/MySQL user.. (mostly table construction)

this looks long, but if you know your stuff, PLEASE read through.. i beg of you!

i'm beginning to build a Songs & Shows database for my website (a fan site for the band, 'the breakfast') with PHP & MySQL. i'm pretty new to PHP, though i'm familiar with a lot of the code from editing and building off of templates before. also pretty new to MySQL, though i do know SQL pretty well.

i'm kind of diving in head first here.. i know what i want, i'm just not sure of the best way to achieve it, so i'm typing it all out to a) get it all out on 'paper', and b) see if i can get some help and suggestions. while i am looking for help, i really want this to be a learning experience, which is the reason i don't want to have someone else just do it for me.

in simple terms, here's what i want when i'm done:

SONGS: i want detailed, searchable information (composer, lyrics, etc. - see full list below.) for all of the band's songs - both originals and covers. i also want to be able to display the first time and the last time the song was played live, which ties into my next portion...

SHOWS: full setlist and details of every concert the band has ever played, and searchable by date, venue, city, state, song, etc. see my comments below about what i want to do with this.

--

Table Structure: here's where i need help (right now).. i don't know exactly what fields should be a table of their own, or how to tie the tables in together when they do.. here's a list of the fields i need, and comments about what i want to do with them:

songs table:
- song id
- song title
- composer
- album (can be null)
- length (null if album is null)
- original?
- instrumental?
- # of times played live
- first time played live
- last time played live
- lyrics

the 'composer' can be anyone in the world, but it can also be multiple people (comp1/comp2). the same composer will appear on many different songs. should i have a composer table of its own?

i was also thinking 'album' should maybe be its own table - should it?

the first time played and last time played is information i want to grab from the setlists database. while the first time played will always be the same, the last time played will always be changing.

shows table:
- show id
- date
- event (optional)
- venue
- city
- state
- number of sets
- number of encores
- setlist (containg SONGS, in a given order - details below)
- notes (? - see details below)
- download link (optional)
- listen link (optional)
- picture link (optional)
- discussion link (optional)

as i was typing that, it dawned on me that it would probably be best to have a 'venue' table, containg venue, city, state, etc. - right?
here's where i really have no clue what to do..

there is a setlist entry for every show the band plays on a given date.

there can be more than one show on a given date (would like to specify with 03/17/05a / 03/17/05b).

each show contains at least one 'set' of any number of SONGS, in a specific order.

an encore does not necessarily happen.

SONGS in a show can end (denoted by ','), or they can segue into each other (denoted by ' > ') (see below).

SONGS in a show can contain NOTES (see below). each song in a show which has a note should be 'flagged' differently (specifically in the following fashion: *, **, ^, ^^. #, ##, %, %%, @, @@, $, $$, &, &&)

as noted in the 'SONGS' structure above, i want to be able to report on how many shows a song has appeared in, the first time it was played, and the last (most recent) time it was played.

a sample of what the output of a given setlist would look like is below:

Quote:
03/12/05 - The Call; Providence, RI
I: Cut Me Some Slack, Gravity*, Vera Street, Fresh Cut, Episode 1 (Happy) > Space Oddity > Dig > The Vermont Song

II: Drum Solo > What The Funk, Rufus > Hard Luck Harry > May Fly Disarray** > jam > Sleeping Beauty > The Other One > Rufus, Language Of The Gods^, jam > May Fly Disarray^^ > Hard Luck Harry > Message In A Bottle

E: Wild Pack Of Asscracks

* with 'Billie Jean' (Michael Jackson) teases.
** inverted.
^ with 'I Dream Of Jeanie' teases.
^^ with 'Power Of Equality' (Red Hot Chili Peppers) teases.
my guess is that i need to tackle the SONGS table first, and worry about the SHOWS after..

i know there's a lot here, but if there's an experienced PHP/MySQL user out there who's willing to help me out, it would be GREATLY appreciated.. if it's easier over email - mkdevo1@msn.com. thanks!
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 05:51 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.04316 seconds
  • Memory Usage 2,270KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (1)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (2)post_thanks_box
  • (2)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (2)post_thanks_postbit_info
  • (2)postbit
  • (2)postbit_onlinestatus
  • (2)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete