BoardIt - leerproject
Boardit
Online prikbord. Geschikt om online notities/foto's en documenten te groeperen.
De projecten kunnen dus meerdere foto's bevatten, maar ook documenten of online notities. Of een logboek.
Even mindmappen kwam ik op het volgende beperkte beeld.
Een typische gebruikservaring kan zijn.
+ Inloggen
+ nieuw Item aanmaken
+ titel, onderwerp, omschrijving, keywords toevoegen
+ subitem toevoegen, bijvoorbeeld een afbeelding.
+ Item plaatsen op het prikbord.
+ Uitloggen
Een typische lezerservaring kan zijn.
+ Naar de pagina toegaan.
+ klikken op een project
+ inhoud bekijken, projectomschrijving/bijgevoegde documenten/foto's/etc
+ verder kijken
Database opzet:
Ik heb al een basis opgezet voor de database. Wat vinden jullie ervan? Ben overigens niet van plan om het in access te maken, maar voor het offline werken vind ik access wel prettig voor ontwerpen.
Mag ik in dit topic alle ontwikkelingen en vragen stellen, of moet ik verschillende topic's aanmaken?
Misschien nog wat meer lezen over databases? Het 'ERD' (kuch) wat je toont is echt niet voldoende.
Wat mis je bijvoorbeeld?
Kan je me gericht vertellen wat je verkeerd ziet.
Gewijzigd op 04/07/2011 14:15:56 door Bram Boos
Joeri de Man op 04/07/2011 12:32:14:
Kan je me gericht vertellen wat je verkeerd ziet.
bijv. Keywords.
Gewijzigd op 04/07/2011 22:24:23 door Joeri de Man
Joeri de Man op 04/07/2011 22:23:06:
@Karl Karl: Ja nu je het zegt zie ik het in.
Mooi.
Joeri de Man op 04/07/2011 22:23:06:
Toch vind ik het fijn als je wat genuanceerder kan reageren.
Ik wijs je alleen opiets.
Joeri de Man op 04/07/2011 22:23:06:
Toelichting waarom je iets vindt bijvoorbeeld.
Nou je geeft aan dat je dingen hebt geleerd, dus wijs ik je op iets wat je beter had kunnen leren.
Joeri de Man op 04/07/2011 22:23:06:
Hoe je denkt dat het beter kan.
Euhm, nee, dat mag je zelf uitzoeken.
Kan je wel helpen. Klik dan maar op mijn profiel en lees daar.
Pff reageer dan liever niet in dit topic.
Joeri de Man op 04/07/2011 22:30:44:
Pff reageer dan liever niet in dit topic.
Ik heb je alweer een stap vooruit geholpen.
De volgende stap moet je zelf doen.
Net als lopen.
Eerst kruipen.
Dan opstaan.
Dan lopen.
Dan fietsen.
Aangezien het mij nu even niet lukt om onder deze moeër een reactie te plaatsen die ik het erboven. Hier is helemaal geen spraken van een doodwens van iemand, het is alleen een bepaalde kijk op de wereld, die aangeeft dat je Zelf duinen moet doen die misvorm niet altijd lukken.
Karl je kunt mensen niet de dood wensen. Denk even om je taalgebruik.[/modedit]
Karl Karl op 04/07/2011 22:33:34:
Ik heb je alweer een stap vooruit geholpen.
De volgende stap moet je zelf doen.
Net als lopen.
Eerst kruipen.
Dan opstaan.
Dan lopen.
Dan fietsen.
Dan op je bek pleuren en onder een bus en vrachtauto komen en dood gaan.
Joeri de Man op 04/07/2011 22:30:44:
Pff reageer dan liever niet in dit topic.
Ik heb je alweer een stap vooruit geholpen.
De volgende stap moet je zelf doen.
Net als lopen.
Eerst kruipen.
Dan opstaan.
Dan lopen.
Dan fietsen.
Dan op je bek pleuren en onder een bus en vrachtauto komen en dood gaan.
vaag
Hmm naar mijn mening te veel kleur, gebruik wat modernere kleuren welke bij elkaar passen.
Ik zit bijvoorbeeld met het centreren van de titel. Dat lukt me niet.
En de zoekwoorden. Ik heb daar over nagedacht. Maar elk item kan zijn eigen zoekwoorden hebben. En het kan natuurlijk voorkomen dat zoekwoorden meer dan 1 gebruikt worden maar dit hoeft niet. Is het dan niet makkelijk om ze in 1 veld te zetten en te scheiden door een komma of spatie?
Gewijzigd op 05/07/2011 12:33:23 door Joeri de Man
Je zou ze inderdaad kunnen scheiden met een komma in je database-record.
Als je dan vervolgens gaat zoeken op een bepaalde tag, kan je je query het volgende stukje laten bevatten:
SELECT * FROM Items WHERE Zoekwoorden LIKE "%TAG_HERE%";
Uiteraard die fine-tunen naar eigen wensen.
Succes!
Gerard Nijboer op 05/07/2011 23:38:05:
Bedoel je met zoekwoorden toevallig trefwoorden, tags?
Je zou ze inderdaad kunnen scheiden met een komma in je database-record.
Als je dan vervolgens gaat zoeken op een bepaalde tag, kan je je query het volgende stukje laten bevatten:
SELECT * FROM Items WHERE Zoekwoorden LIKE "%TAG_HERE%";
Uiteraard die fine-tunen naar eigen wensen.
Succes!
Je zou ze inderdaad kunnen scheiden met een komma in je database-record.
Als je dan vervolgens gaat zoeken op een bepaalde tag, kan je je query het volgende stukje laten bevatten:
SELECT * FROM Items WHERE Zoekwoorden LIKE "%TAG_HERE%";
Uiteraard die fine-tunen naar eigen wensen.
Succes!
Ja joh, normaliseren, welke lul dat bedacht heeft is natuurlijk Achterlijk. Waarom zou je ook je db gaan optimaliseren? Nergens voor nodig, dat ding gaat vanzelf wel over zijn nek...
http://boardit.misterdeman.eu/database.php
3 tabellen gemaakt, en items uitgelezen. Subitems houd ik nog even geen rekening mee.
Nu kan ik dus gaan kijken hoe ik naar aanleiding van gegevens in de database items kan aanmaken. En vullen. Nog een tip?
Om toch maar te laten zien dat ik weer wat verder ben. 3 tabellen gemaakt, en items uitgelezen. Subitems houd ik nog even geen rekening mee.
Nu kan ik dus gaan kijken hoe ik naar aanleiding van gegevens in de database items kan aanmaken. En vullen. Nog een tip?
Gewijzigd op 06/07/2011 12:52:40 door Joeri de Man
Je hoort maar één waarde per veld op te slaan. Niet meerdere.
Dit is normaliseren: http://nl.wikipedia.org/wiki/Databasenormalisatie
Als je een goed werkende applicatie wilt hebben, dan normaliseer je.
Als je dat allemaal niet hoeft, dus als je wilt dat het niet werkt zoals het moet, rare situaties er mogen komen of andere onzin, dan ga je niet normaliseren.
maak de volgende velden aan: ItemId en Trefwoord.
en dan kun je hem als volgt vullen
ItemId - Trefwoord
1 - PHP
1 - MySQL
1 - SQL
1 - Database
Ik weet wat normaliseren is, ik vroeg ook eventjes terug. Wat is in mijn geval makkelijker ik zag niet in hoe ik trefwoorden moest koppelen/ordenen. Die koppeltabel was ik eventjes vergeten.
Ik ben niet eigenwijs, maar moet het begrijpen voordat ik er iets mee kan doen. Ik spring niet meer zomaar over op een andere trein omdat een ander zegt dat het beter is.
Als ik het goed begrijp komen er dan toch 2 tabellen bij?
Zo dus:
Als een Item 5 trefwoorden heeft dan moet ik dus 5 keer het volgende stappenplan doorgaan.
ControleBestaat het trefwoord al? Zo ja door naar koppeling zo nee door naar invoeren
InvoerenNieuwe invoer (trefwoorden) Trefwoord
koppelingnieuwe invoer (koppeltabel) TrefwoordId,ItemId
Toevoeging op 06/07/2011 19:38:18:
Heb nu bedacht. Ik kan proberen het trefwoord toe te voegen. Dan het TrefwoordId samen met ItemId in de koppeltabel plaatsen. Als trefwoord bestaat zal dat een fout opleveren, maar dat maakt dan niet uit.
Ik denk dat 3 query's
Invoeren Trefwoord
En dan invoeren in koppeltabel
Code (php)
1
2
2
mysql_query("INSERT INTO itemtrefwoord
(ItemId,TrefwoordId)VALUES(Itemid,$trefwoordid) ");
(ItemId,TrefwoordId)VALUES(Itemid,$trefwoordid) ");
Ik ben niet zeker over het gebruik van variabelen. Maar mag duidelijk zijn waar ze moeten komen. Gaat dit zo werken of zijn er betere oplossingen?
Gewijzigd op 06/07/2011 21:57:22 door Joeri de Man