PSD-Tutorials.de
Forum für Design, Fotografie & Bildbearbeitung
Tutkit
Agentur
Hilfe
Kontakt
Start
Forum
Aktuelles
Besonderer Inhalt
Foren durchsuchen
Tutorials
News
Anmelden
Kostenlos registrieren
Aktuelles
Suche
Suche
Nur Titel durchsuchen
Von:
Menü
Anmelden
Kostenlos registrieren
App installieren
Installieren
JavaScript ist deaktiviert. Für eine bessere Darstellung aktiviere bitte JavaScript in deinem Browser, bevor du fortfährst.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder einen
alternativen Browser
verwenden.
Antworten auf deine Fragen:
Neues Thema erstellen
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Ordner Darstellen welche in Datenbank gespeichert wurden
Beitrag
<blockquote data-quote="r3nt5ch3r" data-source="post: 1181659" data-attributes="member: 21544"><p><strong>AW: Ordner Darstellen welche in Datenbank gespeichert wurden</strong></p><p></p><p>[code]--</p><p>-- Tabellenstruktur für Tabelle `directory`</p><p>--</p><p></p><p>CREATE TABLE IF NOT EXISTS `directory` (</p><p> `directoryID` int(10) NOT NULL auto_increment,</p><p> `parentID` int(10) NOT NULL,</p><p> `userID` int(10) NOT NULL,</p><p> `directoryName` varchar(255) NOT NULL,</p><p> `groupID` int(10) NOT NULL,</p><p> `time` int(10) NOT NULL,</p><p> `home` varchar(255) NOT NULL,</p><p> `path` text NOT NULL,</p><p> PRIMARY KEY (`directoryID`)</p><p>) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;</p><p></p><p>-- --------------------------------------------------------</p><p></p><p>--</p><p>-- Tabellenstruktur für Tabelle `file`</p><p>--</p><p></p><p>CREATE TABLE IF NOT EXISTS `file` (</p><p> `fileID` int(10) NOT NULL auto_increment,</p><p> `directoryID` int(10) NOT NULL,</p><p> `userID` varchar(50) NOT NULL,</p><p> `groupID` int(10) NOT NULL,</p><p> `fileName` varchar(50) NOT NULL,</p><p> `fileType` varchar(255) NOT NULL,</p><p> `fileSize` varchar(255) NOT NULL,</p><p> `time` int(10) NOT NULL,</p><p> PRIMARY KEY (`fileID`)</p><p>) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;</p><p></p><p>-- --------------------------------------------------------</p><p></p><p>--</p><p>-- Tabellenstruktur für Tabelle `group`</p><p>--</p><p></p><p>CREATE TABLE IF NOT EXISTS `group` (</p><p> `groupID` int(10) NOT NULL auto_increment,</p><p> `groupName` varchar(50) NOT NULL,</p><p> `access` int(10) NOT NULL,</p><p> PRIMARY KEY (`groupID`)</p><p>) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;</p><p></p><p>-- --------------------------------------------------------</p><p></p><p>--</p><p>-- Tabellenstruktur für Tabelle `user`</p><p>--</p><p></p><p>CREATE TABLE IF NOT EXISTS `user` (</p><p> `userID` int(10) NOT NULL auto_increment,</p><p> `groupID` int(10) NOT NULL,</p><p> `username` varchar(50) NOT NULL,</p><p> `password` varchar(50) NOT NULL,</p><p> `email` varchar(255) NOT NULL,</p><p> `sup` int(10) NOT NULL,</p><p> `upl` int(10) NOT NULL,</p><p> `dirC` int(10) NOT NULL,</p><p> PRIMARY KEY (`userID`)</p><p>) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ;</p><p></p><p>-- --------------------------------------------------------</p><p></p><p>--</p><p>-- Tabellenstruktur für Tabelle `session`</p><p>--</p><p></p><p>CREATE TABLE IF NOT EXISTS `session` (</p><p> `sessionID` varchar(50) NOT NULL,</p><p> `userID` int(10) NOT NULL,</p><p> `ipAddress` varchar(15) NOT NULL,</p><p> `userAgent` varchar(255) NOT NULL,</p><p> `lastActivityTime` int(10) NOT NULL,</p><p> `requestURI` varchar(255) NOT NULL,</p><p> `requestMethod` varchar(4) NOT NULL,</p><p> PRIMARY KEY (`sessionID`)</p><p>) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; [/code]Hab mal das ganze angepasst. Einige Tipps:</p><p>1. nutze Namen als Beschreibung, sodass jeder weiß was du damit meinst. Das macht Kommentare unnötig und deinen Quelltext lesbar (wie ein Buch^^)</p><p>2. halte dich an Groß/Kleinschreibung und wie du "_" benutzt.</p><p>3. Date in SQL ist immer so eine Sache... ich bevorzuge hier einen Timestamp => int(10). Damit bist du sicherer in Bezug auf die Nutzung verschiedenster Datenbanken.</p><p>4. z.B: userID ist überall userID und nicht creatorID, weil man so leichter sieht aus welcher Tabelle diese ID stammt...</p><p>5. Jetzt wirds etwas komplizierter... Wie du gesehen hast habe ich eine Session-Tabelle angelegt, da ich mich nicht gerne an das interne Session-Gedöns von PHP binde. So kannst du selber bestimmen wie eine SessionID aussieht, wie du sie übergibst und du hast beispielsweise die Möglichkeit alle Sessions administrativ zu kontrollieren. Entweder du implementierst es so oder nimmst eben das PHP-intere Zeug xD</p><p></p><p>Einige Fragen hab ich noch. Für was sind die folgenden Felder gedacht?</p><p></p><p>- directory.level? => Ich geh ma davon aus, dass es sich hierbei um die "Tiefe" des Ordners handelt. Falls das so ist, ist das Feld vermutlich überflüssig. Wird alles etwas abstrakter/dynamischer über die parentID gelöst.</p><p>- user.sup?</p><p>- user.upl?</p><p>- user.dirC?</p><p></p><p>Mit der aktuellen Datenbank kann jedem User nur eine Gruppe zugewiesen werden und freigaben für Dateien/Ordnern ebenfalls. Für meine Sinne etwas sehr "beschränkt"^^</p><p></p><p>`access` int(10) => ein Int-Wert als Access-Level ist auch sehr schlecht, da es 0 Aussagekraft hat und niemand weiß welche Zahl für welchen Level steht...</p><p></p><p>So^^</p><p>Wie du siehst wäre es vielleicht gar nicht dumm davor etwas PHP zu lernen, falls das Projekt größer werden soll... falls es nur eine kleine Rumspielerei wird, dann kannste natürlich so weitermachen - lernen wirst du dabei aber rein gar nichts.</p></blockquote><p></p>
[QUOTE="r3nt5ch3r, post: 1181659, member: 21544"] [b]AW: Ordner Darstellen welche in Datenbank gespeichert wurden[/b] [code]-- -- Tabellenstruktur für Tabelle `directory` -- CREATE TABLE IF NOT EXISTS `directory` ( `directoryID` int(10) NOT NULL auto_increment, `parentID` int(10) NOT NULL, `userID` int(10) NOT NULL, `directoryName` varchar(255) NOT NULL, `groupID` int(10) NOT NULL, `time` int(10) NOT NULL, `home` varchar(255) NOT NULL, `path` text NOT NULL, PRIMARY KEY (`directoryID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `file` -- CREATE TABLE IF NOT EXISTS `file` ( `fileID` int(10) NOT NULL auto_increment, `directoryID` int(10) NOT NULL, `userID` varchar(50) NOT NULL, `groupID` int(10) NOT NULL, `fileName` varchar(50) NOT NULL, `fileType` varchar(255) NOT NULL, `fileSize` varchar(255) NOT NULL, `time` int(10) NOT NULL, PRIMARY KEY (`fileID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `group` -- CREATE TABLE IF NOT EXISTS `group` ( `groupID` int(10) NOT NULL auto_increment, `groupName` varchar(50) NOT NULL, `access` int(10) NOT NULL, PRIMARY KEY (`groupID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `user` -- CREATE TABLE IF NOT EXISTS `user` ( `userID` int(10) NOT NULL auto_increment, `groupID` int(10) NOT NULL, `username` varchar(50) NOT NULL, `password` varchar(50) NOT NULL, `email` varchar(255) NOT NULL, `sup` int(10) NOT NULL, `upl` int(10) NOT NULL, `dirC` int(10) NOT NULL, PRIMARY KEY (`userID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; -- -------------------------------------------------------- -- -- Tabellenstruktur für Tabelle `session` -- CREATE TABLE IF NOT EXISTS `session` ( `sessionID` varchar(50) NOT NULL, `userID` int(10) NOT NULL, `ipAddress` varchar(15) NOT NULL, `userAgent` varchar(255) NOT NULL, `lastActivityTime` int(10) NOT NULL, `requestURI` varchar(255) NOT NULL, `requestMethod` varchar(4) NOT NULL, PRIMARY KEY (`sessionID`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; [/code]Hab mal das ganze angepasst. Einige Tipps: 1. nutze Namen als Beschreibung, sodass jeder weiß was du damit meinst. Das macht Kommentare unnötig und deinen Quelltext lesbar (wie ein Buch^^) 2. halte dich an Groß/Kleinschreibung und wie du "_" benutzt. 3. Date in SQL ist immer so eine Sache... ich bevorzuge hier einen Timestamp => int(10). Damit bist du sicherer in Bezug auf die Nutzung verschiedenster Datenbanken. 4. z.B: userID ist überall userID und nicht creatorID, weil man so leichter sieht aus welcher Tabelle diese ID stammt... 5. Jetzt wirds etwas komplizierter... Wie du gesehen hast habe ich eine Session-Tabelle angelegt, da ich mich nicht gerne an das interne Session-Gedöns von PHP binde. So kannst du selber bestimmen wie eine SessionID aussieht, wie du sie übergibst und du hast beispielsweise die Möglichkeit alle Sessions administrativ zu kontrollieren. Entweder du implementierst es so oder nimmst eben das PHP-intere Zeug xD Einige Fragen hab ich noch. Für was sind die folgenden Felder gedacht? - directory.level? => Ich geh ma davon aus, dass es sich hierbei um die "Tiefe" des Ordners handelt. Falls das so ist, ist das Feld vermutlich überflüssig. Wird alles etwas abstrakter/dynamischer über die parentID gelöst. - user.sup? - user.upl? - user.dirC? Mit der aktuellen Datenbank kann jedem User nur eine Gruppe zugewiesen werden und freigaben für Dateien/Ordnern ebenfalls. Für meine Sinne etwas sehr "beschränkt"^^ `access` int(10) => ein Int-Wert als Access-Level ist auch sehr schlecht, da es 0 Aussagekraft hat und niemand weiß welche Zahl für welchen Level steht... So^^ Wie du siehst wäre es vielleicht gar nicht dumm davor etwas PHP zu lernen, falls das Projekt größer werden soll... falls es nur eine kleine Rumspielerei wird, dann kannste natürlich so weitermachen - lernen wirst du dabei aber rein gar nichts. [/QUOTE]
Bilder bitte
hier hochladen
und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Zitate einfügen…
Authentifizierung
Wenn ▲ = 5, ▼ = 2 und ■ = 7, was ist ▲ × ▼ + ■?
Antworten
Start
Forum
Sonstiges
Webdesign, Webentwicklung & Programmierung
PHP, Javascript, jQuery, Ajax, nodeJS, MySQL...
Ordner Darstellen welche in Datenbank gespeichert wurden
Oben