Musikchartarchiv

ottyscom

Grünschnabel
Hallo Ihr Lieben

Ich bin noch ziemlich neu in php und kenne mich zwar in Sachen Webdesihn etwas aus aber leider nur sehr wenig in php und mysql. Unter http://www.megatop.net/50es gebe ich z.B. jede Woche Manuell per HTML (Frontpage) die Spanischen TOP 50 Charts ein. Am Jahresende rechne ich dann mühevoll Woche für Woche die Punkte aus für die sogenannten Jahrescharts. Nun möchte ich aber seit langer Zeit endlich mal ein System in PHP und SQL haben in dem ich alle Charts Woche für Woche ordnungsgemäss archivieren und darstellen kann. Ausserdem möchte ich dass man jederzeit Jahrescharts oder Monatscharts abfragen kann. Das heisst dass ein php Skript die Wochen eines Monats oder Jahres hernimmt und zusammenzählt udn somit die Monats bzw. Jahrescharts erstellt. Ich weiss nicht ob ich mich richtig erklärt habe. Hätte da jemand Lust mir da auf die Sprünge zu helfen? Ich weis ja nicht mal wie man am besten die Datenbanken anlegt. Also wo was in welche Tabellen usw. Wäre schon mal ganz nützlich damit ich schon mal mit dem eingeben der Daten beginnen könnte. Auch wennnes vorerst in Access ist nacher kann man ja mit einem Tool das ganze zu MySQL konvertieren.

über eine Antwort von Euch wäre ich sehr dankbar.

Wenn mir natürlich jemand die Skripts vorbereitet bin ich jederzeit bereit die entsprechende Arbeit auf meiner Web mit Namen und Link zu seiner Website zu erwähnen.

Otmar Schuster
 
Ich weiß zwar nicht genau wie du das mit den Punkten errechnest aber ich hab mal ein paar Tipps für dich!

Deine DB sollte die Infos des Musiktitels enthalten, eine individuelle ID und natürlich die Punkte:

Eventuell wäre es auch möglich die Interpreten und Alben dieser extra in DB-Tabellen zu setzen so würden sich auch Charts und Statistiken für diese beiden Bereiche erstellen lassen. In diesem Fall wäre das dann eine Lösung:

Code:
tab_interpret:
int_ID | int_name
 
tab_album:
alb_ID | alb_name | int_ID
 
tab_titel:
tit_ID | tit_name | alb_ID ( | int_ID) //Die Interpreten-ID könnte man aus der Album-Tabelle erhalten.

Danach würde ich noch ein Punktesystem aufbauen. entweder fügst du ein Spalte für die Punkte in die eben erstellte Tabellen ein oder du machst extra eine:

Code:
tab_points
tit_ID | alb_ID | int_ID | poi_value | poi_value_old //letzte Spalte um anzeigen zu können ob in den Charts gestiegen oder gefallen oder unverändert


Und in PHP schreibst du dir dann eine Adminoberfläche in der du

1. Interpret hinzufügen
2. Alben hinzufügen
3. Titel hinzufügen
4. Punkte von den Bestehenden Titeln erhöhen bzw. verringern kannst

Ich hoffe das gibt einen Denkanstoß.
 
Hallo,

Erst mal vielen dank... Nun ich glaube ich habe mich noch nicht so richtig gut ausgedrückt oder wurde noch nicht so recht verstanden.

Also was ich bräuchte ist folgendes:

Woche für Woche werden von mir 50 Chartplazierungen eingegeben (Siehe meine Website http://www.megatop.net/50es) Bisher leider noch recht umständlich in HTML. Hierbei werden folgende Felder verwendet: Platz Diese Woche, Platz Vorwoche, Anzahl Wochen, Tendenz (dargestellt mit Pfeil), Titel (Fettgedruckt) und Interpret (In Grossbuchstaben darunter).

So, dies soll nun jede Woche entsprechend abgespeichert werden in einer SQL Datenbank. Zusätzlich sollen aber da jede Woche Punkte für einen entsprechenden Song vergeben werden. WEnn er auf Platz 1 war, dann 50 Punkte, auf Platz 2 49 punkte. Dies soll dazu dienen dass dann am Jahresende mit einem PHP Skript die jahrescharts abfragen kann. Wer die mesiten Punkte sumiert hat der ist Platz 1, usw... ausserdem sollen da dann auch die Wochenanzahl summiert werden.

Ich hoffe wir kommen nun der Sache etwas näher. (übrigens Album angaben sind nicht unbeding notwendig

Grüsse aus Spanien
 
Gut, jetzt hab ichs. Deine Tabellen in der DB kannst du wie folgt gestalten:

Code:
tab_interpret:
int_ID | int_name
 
tab_titel:
tit_ID | tit_name | int_ID
 
tab_stats:
tit_ID | stat_place_new | stat_place_old | stat_points | stat_cnt_weeks

In PHP kannst du dann alles andere Erledigen. Die Admin-Seite, die Auflistung, die Berechnung für die Punkte sowie die Jahrescharts.

Das mit der Punkte-Berechnung zum Beispiel ist ganz einfach:
PHP:
//Hier musst du die Abfrage einfügen um Daten aus der DB zu erhalten
 
switch($platzierungausDB){
    case 1: $points_new=$punkteausDB + 50;
    break;
    case 2: $points_new=$punkteausDB + 49;
    break;
    .
    .
    .
}
 
//Hier must du dann $points_new in die DB einfügen
 
Ja Super jetzt wirds schon besser. Würdest du mir behilflich sein bei der Erstellung eines:

- Eingabetool in PHP. Am besten wäre es es esrcheint eine Liste mit den 50 Platznummern und danneben ein Feld wo ichnur die Vorwochenplatzierungen eintragen muss. Er sollte dan automatisch die Titel und Interpreten anhand der VW zuordnen. Bei all den VW Feldern wo ich NE statt den Platz der VW eingebe soll er mich dann auffordern den neuen Titel und Interpreten einzugeben. Da es ein Neueinsteiger ist.

- Ausgabetool in PHP. Soll vom Design her genauso aussehen wie auf meiner web http://www.megatop.net/50es
Wie du siehst ist oben ein sogenanntes Kombo Feld wo man die anzuzeigende Woche auswählt. Ich hätte gerne dass da zwei Kombofelder sind. Einmal wo man das Jahr auswählt und bei der 2ten wo man die Woche auswáhlt oder eben die Jahrescharts. Geht das zu machen. Ich bin da zu blöd das effektiv zu verwirklichen.

Gruss aus Spanien
 
Ah, das hab ich übersehen. Da gehören dann die Tabellen tab_titel und tab_stats ein wenig umstrukturiert:

PHP:
tab_titel:
tit_ID | tit_name | tit_points | int_ID
 
tab_stats
tit_ID | stat_week | stat_place | stat_cnt_weeks

Nun kann's weiter gehen.

Das ganze ist nicht schwer. Wie du in HTML Formulare erstellst wirst du wissen, oder?
Weist du schon wie man mit MySQL in PHP umgeht?
Und das Ausgabetool kannst du im Grunde von der Alten seite direkt übernehmen. Du musst nur den PHP-Code, den wir anschließend erarbeiten, dort einfügen.

Wieviel PHP beherrschst du eigentlich? :-)
 
Hi

Um dir ehrlich sein vieeel zu wenig. Daher bin ich auf Deine Hilfe angewisesen. Ich lerne sehr viel Anhand von existierenden Scripts. Ich weis ja nicht ob es dir etwas ausmacht mir bei dem Coden etwas zur hand zu greiffen. Auf jedem Fall möchte ich wenn das ganze fertig und Einsatzbereit ist dich als Mitwirkender oder so erwähnen. Wärst du bereit?
 
Ja gut, aber ich brauche jetzt ein wenig Zeit, denn da das Ganze nicht unkomplex werden kann, versuche ich das mal in meiner Testumgebung!

Ich melde mich dann in diesem Thread wieder wenn ich soweit bin, ok?
 
Alles klar lass dir nur Zeit. Sag mir bitte nur in etwa wieviel Zeit du benötigst. Nur orientativ. Um nicht alle 5 Minuten sinnlos nachzusehen :-D Schon mal vielen Dank für Deine Hilfe: Wichtig ist: dass die Wöchentliche Eingabe der Charts sehr einfach und Schnell ablaufen soll. da mir die Charts schriftlich vorliegen wäre es da echt praktisch wenn man nur die VW zur jeweiligen aktuellen Plazierung hinzuordnen muss und dadurch die Wochencharts automatisch entsehen. Denn immerhin muss ich dann von 1995 bis heute 2007 Woche für Woche alle Charts eingeben in die DB. Ist zwar viel Arbeit aber ich freue mich trotzdem schon sehr darauf :-)

Grüsse ins schöne österreich!
 
Vergiss nicht, in den Tabellen noch abzuspeichern, für welche Woche die Daten gelten. Sonst hast du immer nur den aktuellen Stand, aber wieder keine Archivierung.
Damit wäre dann auch das Feld für die Platzierung der Vorwoche obsolet, da das dann durch eine einfache Abfrage aus dem Datenbestand ermittelt werden könnte.
 
Zurück