Avatar billede nikolajdu Nybegynder
06. januar 2002 - 13:59 Der er 30 kommentarer og
2 løsninger

Ehem Playlist hvordan??

Jeg sidder og fumler rundt med tåbeløsninger på at lave en playlist. Hvordan får jeg bedst lagt en sådan ind i en database.

1. Jeg har en tabel der indeholder id,kunstnernavn,titel,hvor filen ligger og lidt til.
2. Jeg har så en playlist tabel der indeholder et playID og et musicID der svarer til den anden tabels id.

Når jeg så klikker på et link smider sangen tabels 1´ id ind efter som det sidste i playlisten. Det er såmænd enkelt nok.

Problemet for mig er så at man selvfølgelig og skal kunne slette en sang igen og det skal så få alle poster til at rykke op af.

Tilsvarende skal der når jeg har afspillet sangen (tjekker jeg fint selv) så opdateres så den netop afspillede sang i playlisten fjernes.

Jeg kager selv rundt - er der nogle gode forslag her??

/Nikolaj
Avatar billede morten_s Nybegynder
06. januar 2002 - 14:02 #1
Hvis du gerne vil have en lille db som ikke kræver BDE, ADO, ODBC installation så kan jeg anbefale VolgaDB.

Hvis du kun bruger Tables er den gratis

Og der er forholdsvis enkelt at bruge, jeg kan godt sende lidt eksempel kode på hvordan man sætter poster ind og sletter osv

http://www.volgadb.com/index.htm
Avatar billede gimmy Nybegynder
06. januar 2002 - 14:03 #2
Hvis du bruger auto_increment kan det ikke lade sig gøre.

Hvorfor vil du gerne have dem til at \"rykke op\"?
Avatar billede morten_s Nybegynder
06. januar 2002 - 14:04 #3
gimmy> Table.Next skulle vel nløse det problem
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 14:09 #4
Morten - Jeg har da vel for sørensen ikke oprettet et spørgsmål i MySql hvis det var fordi jeg skulle bruge en anden DB??

Gimmy - \"Rykke op\" er ikke sådan bogstaveligt talt - Jo jeg har auto_increment slået til på playID feltet.
Avatar billede morten_s Nybegynder
06. januar 2002 - 14:10 #5
øhhh, troede vi var i delphi kategorien, sorry, men derfor er volga nu god alligevel
Avatar billede erikjacobsen Ekspert
06. januar 2002 - 14:11 #6
Du må leve med huller i id-erne. Sådan er det bare, Nikolaj :_)
Avatar billede gimmy Nybegynder
06. januar 2002 - 14:14 #7
erik: det vil jeg også mene - jeg har i hvert fald søgt efter det i manualen for noget tid siden uden hæld :-/

nikolajdu: Hvorfor ville du gerne - lad os kalde det - benytte alle id\'erne? (uden \"huller\")
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 14:20 #8
morten Du har næsten overbevist mig :))

Erik og Gimmy - Jeg er skam også bedøvende med hullerne - Derfor tager jeg jo id fra den anden tabel hvor de ligger pænt i røkkefølge :))

Kan jeg så på nogen måde bytte nemt rundt på 2 entries uden at skulle hente begge ud og så inserte dem igen på hverandens plads?? (Ved godt spørgsmålet ændrede sig lidt, men tror jeg fik svar på det første ved simpelthen at formulere det. Der skulle åbenbart bare ord på)

/Nikolaj
Avatar billede morten_s Nybegynder
06. januar 2002 - 14:23 #9
Nikolaj> Om at jeg er gået galt i byen :)
Avatar billede gimmy Nybegynder
06. januar 2002 - 14:24 #10
UPDATE tabel1, tabel2 SET tabel1.kolonneA = tabel2.kolonneA && tabel2.kolonneA = tabel1.kolonneA WHERE tabel1.id = tabel2.id
- vil er mit gæt, men ved ikke om det virker (eller om jeg har forstået spørgsmålet rigtigt :))
Avatar billede gimmy Nybegynder
06. januar 2002 - 14:24 #11
hmmm - se bort fra det overflødige \"vil\" ;)
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 14:26 #12
Det er såmænd kun i tabel2 der skal opdateres.

Altså bytte rundt på 2 playID´s.
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 14:27 #13
morten - Nej din overbevisende indstilling til valget af database :))
Avatar billede gimmy Nybegynder
06. januar 2002 - 14:28 #14
nikolaj: så forstår jeg ikke. forklar evt. lidt yderligere :)
Avatar billede morten_s Nybegynder
06. januar 2002 - 14:29 #15
Bruger selv MySql til det tunge, flerbrugersystemer, men er det enkelt bruger så
springer jeg over hvor gærdert er lavest med en Volga = Ingen opsætning af nogen art

I Volga er der bare det problem at Querys stort set er begrænset til SELECT
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 14:32 #16
Play listen indeholder lad os sige 3 entries.

1. sang 1
2. sang 2
3. sang 3

Her spørger jeg så om jeg i én simpel sætning kan bytter rundt på f.eks sang 2 og sang 3.

Altså uden først at hente begge rækker ud og derefter insert dem igen på den andens plads :))

Understood??

/Nikolaj
Avatar billede gimmy Nybegynder
06. januar 2002 - 14:39 #17
Hmmm - det tror jeg ikke, men man må kunne klare det med et par update-queries med brug af concat. Jeg ville trække dem ud og stoppe dem ind påny!
- men jeg er sq ikke sikker på om det kan gøres på en eller anden voldig fiffig måde :)
Avatar billede cyberdude Nybegynder
06. januar 2002 - 14:40 #18
er lidt lost i det her spørgsmål, men jeg prøver alligevel.......

Lad os sige at du har en liste med 10 numre på
1. sang tittel
2. sang tittel
osv.....

når så sang nr. 1 er spillet vil du have den fjernet fra listen så der kun er 9 sange tilbage på listen.....
eller skal der så automatisk så hentes en sang mere ind som så kommer som nr. 10 i listen
??
Avatar billede erikjacobsen Ekspert
06. januar 2002 - 14:41 #19
Du skal ikke bruge dit autonummerede felt til det. Det er en måde at
identificere en række på - ik\' andet. Det du skal derimod er:

1. sang 1    17
2. sang 2    33
3. sang 3    22

nemlig tilføje din egen \"rækkefølgenummerering\", og så opdatere det felt hvis du
vil lave om i rækkefølgen. Kikker du på din list skal du gøre det med ORDER BY

select * from playlist order by raekkefoelgenummerering
Avatar billede cyberdude Nybegynder
06. januar 2002 - 14:42 #20
bare glem mit spørgsmål.. kan se at der er kommet flere kommentare på de lille stykke tid jeg har brugt på at skrive mit spm  :-))
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 14:43 #21
Cyberdude - Yes det korrekt, men det er jo bare at slette en entry, så er der helt automatisk kun 9 tilbage :))

Spørgsmålet ændrede sig lidt til det beskrevet her:

06/01 2002 14:32:22

Problemet er såmænd ikke at hive 2 rækker ud og inserte dem igen. Jeg spørger bare om der er en anden enkel/smart måde at gøre det på :))

/Nikolaj
Avatar billede erikjacobsen Ekspert
06. januar 2002 - 14:44 #22
Tænk også på at dit id-felt, som er primær nøgle i din playlist, sikkert
også er fremmednøgle i andre tabeller. Desuden kan du i et flerbrugersystem
få problemer ved at en brugers program tror nummer 2 er sang nummer 2, men
laver du om i id-erne er det måske pludselig sang nummer 3.
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 14:56 #23
Erik - Der er kun én bruger mig selv.

Jeg gik i gang med systemet da jeg var møgirriteret over diverse gratis programmer ikke kunne systematisere/sortere/kreere ordentlige playlister og søge i forhold til min musik ordentligt.

Jeg har nu via PHP lagt små 1500 sange ind i min MySql Data. Lavet systemer til at redigere i navn, titel og desuden søgning, tællere, toplister, og min egen MediaPlayer - Alt sammen fungerer fint. Det sidste jeg mangler her er nu at få den %%&¤& playlist til at fungere ordenligt.

Det er altså kun ment som en hjælp til mig selv - Overdrevet vil nogle sige, men så fik jeg jo også chancen for at arbejde lidt i PHP og mySql og det har da omend ikke andet været lidt af en udfordring. :))

/Nikolaj
Avatar billede erikjacobsen Ekspert
06. januar 2002 - 15:02 #24
Brugere dækker også over forskellige processer der afvikles. Du kan \"køre\"
en playlist mens du redigerer i den, fx.

Men rør ikke ved id\'erne :)
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 15:11 #25
Erik - Se du har netop fat i den lange ende her. Det er lige præcis muligheden for at ændre i den.


Læserr jeg dig rigtigt så er det du foreslår at lave en række, der indeholder rækkefølgen og så bytte rundt på tallene i den i stedet??

/Nikolaj
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 15:13 #26
Jeg har i øvrigt lavet det sådan at man kan gemme en playlist (Altså den der ikke virker ordentligt hehe).

Smider det simpelthen bare ind i en ny tabel - Kunne ikke lige finde på andet. Har dog overvejet om man ikke bare kunne lave én tabel med gemte playlister hvor numrene så ligger i en slags array, men der gik jeg helt kold. Det bliver et nyt oprettet spørgsmål på et tidspunkt :))

Har desuden overvejet muligheden for at udskrive playlisten til en Xml fil der så kan læses ind i Mediaplayer - Det kan give lidt ekstra features - Så bliver det også kun stien på filen der skal smides ind. :)

jo jo kald det bare slam koderi :))

/Nikolaj
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 15:34 #27
Tror jeg har fattet det, så hvis i  Erik og gimmy gider at smide et svar, så får i lidt godter som tak for de gode input :))
Avatar billede gimmy Nybegynder
06. januar 2002 - 16:57 #28
Det er vist erikjacobsen der skal have point her :)
Avatar billede nikolajdu Nybegynder
06. januar 2002 - 16:59 #29
Nej der skal være lidt til alle der gad at følge mit helt igennem velovervejede og på alle måder gennemtænkte spørgsmål :))
Avatar billede erikjacobsen Ekspert
06. januar 2002 - 17:19 #30
Jeg frafalder - selv om man har mange point skal man alligevel
skrælle kartofler :(
Avatar billede nikolajdu Nybegynder
07. januar 2002 - 09:23 #31
Kom nu drenge smid det svar :)))
Avatar billede nikolajdu Nybegynder
08. januar 2002 - 10:28 #32
Ej altså i er da nogle stædige #¤%##% :))

Morten får lidt for sit ovebevisende forsøg på at få mig til at fordybe sig i databaser der kun kan Selecte :))

/Nikolaj
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester