Mysql Muziek Database Inrichten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Francoi gckx

Francoi gckx

12/02/2013 21:12:29
Quote Anchor link
Ik wil een pagina hebben waar mensen zijn favoriete nummers kunnen uploaden met behulp
van een upload site zoals zippyshare waarna ik de download link op mij site kan zetten.
Die download link komt in de database te staan, nu wil ik alles catogoriseren op genre/categorie.
Ik heb ongeveer 19 categories en algemene gegevens zoals id.
Ik heb het nu zo in phpmyadmin:

Table Name: Muziek

muziek_id
username
muziek_titel
muziek_link
muziek_categorie
EN
muziek_datum_geplaatst


Is het handiger om die 19 categorien te scheiden en dus elke een eigen kolom te hebben?
bijv:

Table Name: Muziek

muziek_id
username
muziek_titel
muziek_link
muziek_reggae
muziek_andere_genre1
muziek_andere_genre2
muziek_andere_genre..
muziek_andere_genre18
muziek_andere_genre19
EN
muziek_datum_geplaatst

Of is het beter om zelfs een eigen tabel voor elke categorie te maken dus zo:

Table Name: Muziek_reggae

muziek_reggae_id
username
muziek_reggae_titel
muziek_reggae_link
EN
muziek_reggae_datum_geplaatst

Alvast Bedankt!
Gewijzigd op 12/02/2013 21:15:01 door Francoi gckx
 
PHP hulp

PHP hulp

08/05/2024 17:59:18
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/02/2013 21:25:31
Quote Anchor link
categorieën scheiden moet je niet doen. gewoon een tabel categorie maken waarin je zet:

categorie_id // uniek id
categorie_titel // titel categorie
(categorie_link // link categorie)

Table Name: Muziek

muziek_id
categorie_id
username
muziek_titel
muziek_link
muziek_datum_geplaatst

de categorie tabel gebruik je om een <select><option value="categorie_id">categorie_titel</option>...</select> te maken op je pagina waar je muziek kunt uploaden.

als je dan een overzicht wilt weergeven van nummers dan kun je een left join gebruiken om de categorieën er bij weer te geven
Gewijzigd op 12/02/2013 22:34:33 door Frank Nietbelangrijk
 
Francoi gckx

Francoi gckx

12/02/2013 21:53:56
Quote Anchor link
Dankje Frank

Toch nog 2 vragen: Wat voor waardes had jij bedoeld voor categorie_link?

In Table: Muziek
Is muziek_categorie niet dubbel op want je heb al in die table een categorie_id
die je kan linken in de Categorie Table die de bijhorende categorie_titel vind.
In kort: is muziek_categorie en categorie_titel niet dubbel op?
 
Frank Nietbelangrijk

Frank Nietbelangrijk

12/02/2013 22:33:56
Quote Anchor link
categorie_link heb ik er in gezet omdat jij muziek_reggae_link had staan in je lijstje. ik dacht dat je daar een snelkoppeling in wilde zetten waar men meer info over dat genre kon vinden. Maar je kunt dat er natuurlijk gewoon uitlaten ook

ja muziek_categorie is dubbel. die moet er uit
Ik heb het even aangepast

en username zou je nog kunnen veranderen in user_id die dan weer naar een tabel users verwijst
Gewijzigd op 12/02/2013 22:35:55 door Frank Nietbelangrijk
 
Francoi gckx

Francoi gckx

12/02/2013 22:54:15
Quote Anchor link
-Dat is misschien wel een goed idee :) maar ik bedoelde met muziek_reggae_link de link naar zippyshare's download

Ik heb de categorie table gevuld met al de verschillende muziekstylen in kolom categorie_titel // titel categorie

-Ja dat zou netter zijn met die user_id maar voorlopig hou ik het even bij username die zijn waarde krijg van $_SESSION['username']

Dus vanaf hier ga ik verder.

Heel erg bedankt wat een fijne leraar is phphulp!
 
Tim van Norde

Tim van Norde

14/02/2013 09:31:02
 
Francoi gckx

Francoi gckx

15/02/2013 19:31:17
Quote Anchor link
Ok Frank of andere nu wil ik categorie_id veranderen met de titel uit een select

Zo niet in iedergeval

elseif ($rst_muziek_all = $mysqli->query("SELECT muziek_categorie.muziek_categorie_titel as categorie_titel, muziek.muziek_categorie_id as categorie_id, muziek.muziek_id, muziek.username, muziek.muziek_titel, muziek.muziek_van, muziek.muziek_link, muziek.muziek_datum_geplaatst FROM muziek, muziek_categorie ORDER BY muziek.muziek_datum_geplaatst DESC"))
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

15/02/2013 20:44:43
Quote Anchor link
Wat je nu doet is een cross join, nooit doen.
Waarom niet?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
SELECT * FROM tabelA, tabelB

tabelA heeft 40 records en tabelB 2000, resultaat is 40x2000=800000 records
 
Francoi gckx

Francoi gckx

15/02/2013 21:32:29
Quote Anchor link
Goedeavond,

Ik ben nog niet helemaal gemakkelijk met 'complexe' queries en ik begrijp dat je dit met leftjoin moet doen?

Tabel: Muziek heeft een record met muziek_categorie_id zeg maar het getal: 7
nu wil ik dat getal, muziek_categorie_id, verbinden aan muziek_categorie_titel van tabel muziek_categorie waar muziek_categorie_id ook 7 is
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.