Anoniem2 Geplaatst: 5 januari 2013 Delen Geplaatst: 5 januari 2013 Beste lezers,\n\nIk heb een leuke muziekdatabase gemaakt met phpmyadmin en een website met php scriptje om die uit te lezen. Alles wordt netjes in tabellen gezet.\nMaarrr, is het ook mogelijk om album artwork in die database te zetten? En is het mogelijk om album artwork in de tag (ID3v2) van de muziek te zetten en op die manier naar xml of csv te exporteren? Bestandsformaat is FLAC en mp3. Ik heb tot nu toe het programma [URL=\"http://mp3bookhelper.sourceforge.net/\"]mp3 book helper[/URL] gebruikt voor het exporteren van de tags. Quote Link naar reactie
Anoniem2 Geplaatst: 5 januari 2013 Auteur Delen Geplaatst: 5 januari 2013 Met KTaglib zou je een plaatje van en naar de ID3 tag van een mp3 moeten kunnen schrijven: [url]http://php.net/manual/en/book.ktaglib.php[/url]\nIs object georiënteerd en slecht gedocumenteerd, dus kan een uitdaging worden.\n\nOpslaan van plaatjes (of andere bestanden) in een database is mogelijk. Een mogelijkheid is het bestand te coderen ([url]http://nl3.php.net/manual/en/function.base64-encode.php[/url]) en op te slaan in een tekstveld (BIGTEXT). Beter zou zijn om de binaire inhoud in een veld van het type BLOB te zetten. Dus met fread() inlezen en dan direct de database in. Quote Link naar reactie
Anoniem2 Geplaatst: 5 januari 2013 Auteur Delen Geplaatst: 5 januari 2013 Ik was ook al eventjes met BLOB bezig geweest. Op verschillende fora is te lezen dat het handiger is om het relatieve pad naar het bestand hierin te zetten. Hoe dit precies in zijn werk gaat ben ik nog niet achter. Krijg ik dan namelijk niet als ik de database opvraag niet het plaatje te zien maar gewoon tekst (de verwijzing)? Quote Link naar reactie
Anoniem2 Geplaatst: 5 januari 2013 Auteur Delen Geplaatst: 5 januari 2013 [QUOTE=FooBar;630225]Met KTaglib zou je een plaatje van en naar de ID3 tag van een mp3 moeten kunnen schrijven: [url]http://php.net/manual/en/book.ktaglib.php[/url]\r\nIs object georiënteerd en slecht gedocumenteerd, dus kan een uitdaging worden.\r\n[/QUOTE]\r\n\r\nHmm, ik heb er even naar gekeken, maar als het inderdaad alleen maar voor mp3 is heb ik er niets aan. Zo\'n beetje mijn hele muziekbibliotheek is FLAC, wat AAC (uit het oude iTunes tijdperk :D ) en hier en daar een mp3\'tje.\r\n\r\n[QUOTE=FooBar;630225]\r\nOpslaan van plaatjes (of andere bestanden) in een database is mogelijk. Een mogelijkheid is het bestand te coderen ([url]http://nl3.php.net/manual/en/function.base64-encode.php[/url]) en op te slaan in een tekstveld (BIGTEXT). Beter zou zijn om de binaire inhoud in een veld van het type BLOB te zetten. Dus met fread() inlezen en dan direct de database in.[/QUOTE]\r\n\r\nIk was ook al eventjes met BLOB bezig geweest. Op verschillende fora is te lezen dat het handiger is om het relatieve pad naar het bestand hierin te zetten. Hoe dit precies in zijn werk gaat ben ik nog niet achter. Krijg ik dan namelijk niet als ik de database opvraag niet het plaatje te zien maar gewoon tekst (de verwijzing)?\r\n\r\n[IMG]http://i50.tinypic.com/zu5m69.jpg[/IMG]\r\n\r\nHier kan ik dan het bestand aanwijzen, maar alleen één voor één. Ik heb meer dan 2000 nummers... Dat gaat niet gebeuren! Ik moet dan een scriptje maken, maar daar zit ik niet zo in.\r\nProbleem is dat de album art allemaal \'folder.jpg\' heet. Allemaal in een andere folder, die van de artiest en album. Relatieve paden voel ik wel wat voor...\r\n\r\n[url]http://www.dreamincode.net/forums/topic/178435-help-in-uploading-image-in-phpmyadmin-database/[/url] [COLOR=\"green\"]<--Link doet het niet-->[/COLOR]\r\n[url]http://www.vbforums.com/showthread.php?376767-Database-How-can-I-store-images-%28or-other-files%29-in-a-database[/url]\r\n[url]http://serverfault.com/questions/249836/storing-pictures-in-a-database-on-phpmyadmin[/url]\r\n[url]https://dev.mysql.com/doc/refman/5.5/en/blob.html[/url] Quote Link naar reactie
Anoniem2 Geplaatst: 5 januari 2013 Auteur Delen Geplaatst: 5 januari 2013 [QUOTE=Jeroentje94;630231]Ik was ook al eventjes met BLOB bezig geweest. Op verschillende fora is te lezen dat het handiger is om het relatieve pad naar het bestand hierin te zetten. Hoe dit precies in zijn werk gaat ben ik nog niet achter. Krijg ik dan namelijk niet als ik de database opvraag niet het plaatje te zien maar gewoon tekst (de verwijzing)?\r\n[/QUOTE]\r\nKlopt; het opslaan van afbeeldingen in een database is doorgaans niet de 1e keus.\r\nZeker niet als het eenvoudiger kan door het opslaan van het pad naar het bestand.\r\nAfbeeldingen laat je in html zien met Zie bv [url]http://www.w3schools.com/tags/tag_img.asp[/url] voor meer info. Quote Link naar reactie
Anoniem2 Geplaatst: 5 januari 2013 Auteur Delen Geplaatst: 5 januari 2013 [QUOTE=Obelix71;630237]Klopt; het opslaan van afbeeldingen in een database is doorgaans niet de 1e keus.\r\nZeker niet als het eenvoudiger kan door het opslaan van het pad naar het bestand.\r\nAfbeeldingen laat je in html zien met Zie bv [url]http://www.w3schools.com/tags/tag_img.asp[/url] voor meer info.[/QUOTE]\r\n\r\nGeprobeerd, gelukt (deels). Waarschijnlijk moet ik het toch op een andere manier gaan doen:\r\n\r\n[IMG]http://i48.tinypic.com/3354eab.jpg[/IMG]\r\n\r\nHet plaatje is zoals je ziet niet zichtbaar, het pad is niet goed.\r\n\r\nIeder bestand moet natuurlijk een afbeelding hebben, voor als je gaat zoeken en maar 1 nummer uit het album getoond wordt. Aan de andere kant moet er maar één afbeelding per album worden getoond. Dat wordt wat ingewikkeld. Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Zodra je het plaatje toont (in je script) zet je het pad ervan in een variabele. Bij het volgende plaatje vergelijk je het nieuwe pad met het pad in die variabele, om te zien of deze gelijk aan elkaar zijn. Zo ja, dan geen afbeelding tonen. Zo nee, dan wel afbeelding tonen en het nieuwe pad in de variabele zetten.\nDan heb je één generieke oplossing die ook werkt voor de zoekresultaten. Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 [QUOTE=FooBar;630247]Zodra je het plaatje toont (in je script) zet je het pad ervan in een variabele. Bij het volgende plaatje vergelijk je het nieuwe pad met het pad in die variabele, om te zien of deze gelijk aan elkaar zijn. Zo ja, dan geen afbeelding tonen. Zo nee, dan wel afbeelding tonen en het nieuwe pad in de variabele zetten.\r\nDan heb je één generieke oplossing die ook werkt voor de zoekresultaten.[/QUOTE]\r\n\r\nKlinkt goed, en logisch. Moet dit dan in mijn PHP script komen of in een apart javascript bestand? Dat inzicht moet nog groeien ;) Of in de kolom artwork, zie hieronder:\r\n\r\n[IMG]http://i50.tinypic.com/3r2qg.jpg[/IMG] Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 In je PHP script.\r\n\r\nKlein voorbeeldje:\r\n[php]\r\n$qry = \"SELECT * FROM `table`\";\r\n$res = mysqli_query($link, $qry);\r\nif (mysqli_num_rows($res)) {\r\n echo \'\';\r\n while ($data = mysqli_fetch_assoc($res)) {\r\n echo \'\';\r\n echo htmlspecialchars($data[\'title\']);\r\n echo \'\';\r\n if ($vorigepad != $data[\'artwork\']) {\r\n echo \'\';\r\n $vorigepad = $data[\'artwork\'];\r\n }\r\n echo \'\';\r\n }\r\n echo \'\';\r\n}\r\n[/php]\r\n\r\n$vorigepad wordt steeds weer hergebruikt. Hierdoor wordt dus alleen een plaatje getoond als het anders is dan het vorige getoonde plaatje. Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Super!\r\n\r\nKrijg nu één error, $artworkP is niet gedefineerd. Dat is nog simpel op te lossen. Kan ik ook makkelijk in het PHP script zetten dat alle bestanden (artwork) folder.jpg heet? Zoiets:\r\n\r\n[PHP]\r\n$artworkP = 1;\r\n\r\nwhile($row = mysql_fetch_array($result))\r\n {\r\n echo \"\";\r\n echo \"\" . $row[\'indexnr\'] . \"\";\r\n echo \"\" . $row[\'tracknr\'] . \"\";\r\n echo \"\" . $row[\'title\'] . \"\";\r\n echo \"\" . $row[\'artist\'] . \"\";\r\n echo \"\" . $row[\'album\'] . \"\";\r\n echo \"\" . $row[\'year\'] . \"\";\r\n echo \"\" . $row[\'genre\'] . \"\";\r\n if ($artworkP != $row[\'artwork\'] ) {\r\n echo \'\';\r\n $artworkP = $row[\'artwork\']; \r\n }\r\n echo \"\";\r\n }\r\necho \"\";\r\n[/PHP]\r\n\r\n[IMG]http://i48.tinypic.com/idazcz.jpg[/IMG]\r\n\r\n[IMG]http://i50.tinypic.com/eog3q.jpg[/IMG] Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Er worden wel net zo veel afbeeldingen getoond als albums, dus de if-statement werkt!\r\n\r\n-edit- Ze staan nu ook in de tabel bij het eerste nummer, dus niet helemaal bovenaan de pagina.\r\n\r\n[PHP]\r\nif ($artworkP != $row[\'artwork\'] ) {\r\n echo \"\" . \'\' . \"\";\r\n $artworkP = $row[\'artwork\'];\r\n[/PHP] Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Ik heb even naar de source van het plaatje gekeken in de browser en het is zo:\n\n[IMG]http://i47.tinypic.com/9vcjrr.jpg[/IMG]\n\nIk zou toch zweren dat het zou moeten werken... Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Dat van $artworkP is denk ik een waarschuwing en geen error?\nDat heeft dan te maken met je error_reporting instelling in php.ini. Als je die wijzigt naar [B]E_ALL & ~E_NOTICE[/B] ben je daar van af (zal nu op E_ALL staan). Het niet declareren van variabelen is op zich geen fout en juist een van de krachten van PHP, maar met E_ALL laat \'ie je dat toch weten als je het niet doet.\nJe kunt dit ook in je PHP bestand zelf wijzigen, door ergens bovenaan [B]error_reporting(E_ALL ^ E_NOTICE);[/B] toe te voegen.\n\nWat betreft de plaatjes: als je een keiharde verwijzing naar een bestand op je harde schijf wilt gebruiken, dan moet je [B]file:///[/B] voor het pad zetten. Dan zou het moeten werken. Dus[B] echo \"\" . \'\' . \"\"; [/B] Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Oke, de waarschuwing geeft hij nu niet meer, bedankt!\r\n\r\nHet plaatje is een beetje raar:\r\n[IMG]http://i46.tinypic.com/349crv8.jpg[/IMG]\r\n\r\nHet pad klopt dus, toch laat hij hem niet zien. Mij code:\r\n[PHP]\r\nif ($artworkP != $row[\'artwork\'] ) {\r\n echo \"\" . \'\' . \"\";\r\n $artworkP = $row[\'artwork\']; \r\n }\r\n[/PHP] Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Da\'s wel gek.\nIk zie dat je https gebruikt. Misschien dat het daar iets mee te maken heeft, aangezien de plaatjes niet over https gaan. Ik denk dan aan de mogelijkheid van de browser om niet-https inhoud te weigeren als een https pagina geladen wordt. Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 [QUOTE=FooBar;630302]Da\'s wel gek.\r\nIk zie dat je https gebruikt. Misschien dat het daar iets mee te maken heeft, aangezien de plaatjes niet over https gaan. Ik denk dan aan de mogelijkheid van de browser om niet-https inhoud te weigeren als een https pagina geladen wordt.[/QUOTE]\r\n\r\nHeb even ssl uitgezet, mag helaas niet baten. Mis ik hier nog iets in?\r\n[PHP]\r\necho \"\" . \'\' . \"\";\r\n[/PHP] Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Misschien kan je iets met een stukje page source?\r\n\r\n[CODE]\r\n521Kryptonite3 Doors DownThe Better Life2000Rock532Loser3 Doors DownThe Better Life\r\n[/CODE] Quote Link naar reactie Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Ja, misschien kan ik daar inderdaad iets mee... Ik zie daar spaties staan, welke vervangen zouden moeten zijn door %20\'s.\n\nProbeer dit eens:\n[php]echo \"\" . \'\' . \"\";[/php] Quote Link naar reactie Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 [QUOTE=FooBar;630309]Ja, misschien kan ik daar inderdaad iets mee... Ik zie daar spaties staan, welke vervangen zouden moeten zijn door %20\'s.\r\n\r\nProbeer dit eens:\r\n[php]echo \"\" . \'\' . \"\";[/php][/QUOTE]\r\n\r\nGeprobeerd, ik krijg allemaal syntax errors... Hierzo gaat het ergens fout:\r\n(\'\\\',\'/\',\r\nHij herkent $row hier niet als een variabele. Hij verwacht nog iets na de comma, maar dit gaat mij een beetje te ver, hier snap ik niets meer van... Quote Link naar reactie Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Ik kan me voorstellen dat je het niet kunt volgen :)\r\nPoging 2:\r\n[php]echo \"\" . \'\' . \"\";[/php]\r\nDe backslash was een escape voor het erna volgende aanhalingsteken, een extra backslash lost dat op. Quote Link naar reactie Vor. 1 2 Volgende Pagina 1 van 2 Om een reactie te plaatsen, moet je eerst inloggen Reageer op dit topic × Geplakt als verrijkte tekst. Herstel opmaak Er zijn maximaal 75 emoji toegestaan. × Je link werd automatisch ingevoegd. Tonen als normale link × Je vorige inhoud werd hersteld. Leeg de tekstverwerker × Je kunt afbeeldingen niet direct plakken. Upload of voeg afbeeldingen vanaf een URL in Afbeeldingen invoegen vanaf URL × Desktop Tablet Smartphone Reactie toevoegen Volgers 0 Ga naar topic overzicht Populaire leden Week Maand Jaar Altijd Lampje 1 Toon meer Leden AndreG85 Recente topics 1 Vogels bij mijn zonnepanelen kan dit kwaad? annaliess · woensdag om 08:41 5 Samsung droger gaat steeds op pauze Senna · maandag om 15:06 1 Storing Elextrolux Intuition 6kg Eco Valve EWR 14070 W Vince · 21 september 1 samsung eco bubble jamal007 · 19 september 5 Droogkast Bosch Maxx7 Patrick M · 18 september Nieuwste Topics Alle activiteit Home Techcafe Apps en software Album artwork in database (phpmyadmin) × Bestaande gebruiker? Log in Registreren Forum categorieën Terug Welkom in de Kieskeurig community Populair! Terug Wasmachines en wasdrogers Laptops en computers Zonnepanelen Woning en energie Terug Warmtepompen en CV-ketels Zonnepanelen Beeld en geluid Terug Televisies Soundbars, speakers, receivers en audio Huishouden en keuken Terug Wasmachines en wasdrogers Koelen, vaatwassers en keukenapparatuur Airco's en ventilators Stofzuigers en huishoudapparaten Koffie en thee Mobiel Terug Smartphones en tablets Smartwatches en (sport)wearables Techcafé Terug Laptops en computers Printers monitors en overige hardware Alles over Apple Besturingssystemen Beveiliging en privacy Smarthome Internet en hosting Social media Thuisnetwerken Overige tech Foto en video Terug Fotografie en video Fietsen Terug E-bikes en accessoires Tuin en klussen Terug Grasmaaiers, barbecues en klusgereedschap Verzorging Terug Elektrische tandenborstels en verzorging Gaming Terug Consoles, games, films en muziek Deals Terug Black friday en andere deals Kieskeurig en overig Terug Laatste nieuws, acties en video's Gewoon gezellig Alle overige vragen en feedback Community menu Terug Forums Blogs Meestgestelde vragen Online gebruikers Erelijst Activiteit Terug Alle activiteit Zoeken Kieskeurig.nl Terug Kieskeurig Best reviewed Prijsdalers Lifehackgidsen ID.nl Terug ID.nl Zekerheid & gemak Huis & entertainment Mobiliteit Gezond leven Energie & klimaat × Nieuwe aanmaken...
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Ja, misschien kan ik daar inderdaad iets mee... Ik zie daar spaties staan, welke vervangen zouden moeten zijn door %20\'s.\n\nProbeer dit eens:\n[php]echo \"\" . \'\' . \"\";[/php] Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 [QUOTE=FooBar;630309]Ja, misschien kan ik daar inderdaad iets mee... Ik zie daar spaties staan, welke vervangen zouden moeten zijn door %20\'s.\r\n\r\nProbeer dit eens:\r\n[php]echo \"\" . \'\' . \"\";[/php][/QUOTE]\r\n\r\nGeprobeerd, ik krijg allemaal syntax errors... Hierzo gaat het ergens fout:\r\n(\'\\\',\'/\',\r\nHij herkent $row hier niet als een variabele. Hij verwacht nog iets na de comma, maar dit gaat mij een beetje te ver, hier snap ik niets meer van... Quote Link naar reactie
Anoniem2 Geplaatst: 6 januari 2013 Auteur Delen Geplaatst: 6 januari 2013 Ik kan me voorstellen dat je het niet kunt volgen :)\r\nPoging 2:\r\n[php]echo \"\" . \'\' . \"\";[/php]\r\nDe backslash was een escape voor het erna volgende aanhalingsteken, een extra backslash lost dat op. Quote Link naar reactie
Aanbevolen berichten