SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Entwicklung und Softwaredesign
Hilfe Community Kalender Heutige Beiträge Suchen

PHP Entwicklung und Softwaredesign Hier können strukturelle (Programmier-) Konzepte diskutiert und Projekte vorgestellt werden

 
 
Themen-Optionen Ansicht
  #1  
Alt 10.09.2007, 18:08:08
Benutzerbild von Socrates
Socrates Socrates ist offline
Member
 
Registriert seit: Jul 2006
Ort: Göttingen/Deutschland
Alter: 35
Beiträge: 586
Nested Sets Klasse

Morgen!

Ich habe bis vor kurzen bei Baumstrukturen in einer Datenbank immer mit dem Parentid-System gearbeitet, doch vor kurzem bin ich auch die Nested sets gestoßen.
Sie haben den Vorteil, das die Abfragen aus der Datenbank bis um das 70fache schneller sind, da man zur Abfrage keine rekursiv durchlaufenden Funktionen benötigt. Zudem kann man eine genaue Reihenfolge der Unterpunkte festlegen und relativ einfach abfragen. Da das ganze so praktisch ist und bei mir recht häufig eine Anwendung findet, habe ich beschlossen eine Nested Sets Klasse zu schreiben.

Für Nested Sets gilt im allgemeinem:
* Die Wurzel hat grundsätzlich 1 als LFT-Wert
* Die Sortierung der Knoten ergibt sich aus den LFT-Werten
* Die Anzahl der Nachfahren eines Knotens errechnet sich durch (RGT - LFT - 1) / 2.
* Entsprechend gilt für alle Knoten ohne Kinder: RGT - LFT = 1
* LFT und RGT aller Nachfahren liegen zwischen den LFT- und RGT-Werten der Vorfahren

Ich arbeite hier mit einer erweiterten Version der Nested Sets.

Die Struktur meiner zugehörigen MySQL Tabelle sieht wie folgt aus:
Code:
ID | root_id | level | lft | rgt | name
Der zugehörige SQL-Code so:
Code:
CREATE TABLE `tablename` (
  `ID` int(12) unsigned NOT NULL auto_increment COMMENT 'The unique ID of the section',
  `root_id` int(12) unsigned NOT NULL default '0',
  `level` int(12) unsigned NOT NULL default '0',
  `lft` int(12) unsigned NOT NULL default '0',
  `rgt` int(12) unsigned NOT NULL default '0',
  `name` varchar(50) default NULL COMMENT 'The section name',
  PRIMARY KEY  (`ID`)
);
Die vorläufige Struktur der Klasse sieht so aus:
PHP-Code:
<?php
    
/* Require the classes */
    
require_once('includes/DbConnector.php');
    require_once(
'includes/Validator.php');
    
    
/* The NestedSet class */
    
class NestedSet extends DbConnector
    
{
        
        
/* VARIABLES */
        
var $db;        
        
        
/* GET SECTIONS */
        
function getSections($root=null) {
        }
        
        
/* GET SECTION */
        
function getSection($id=NULL) {
        }
            
        
/* GET PATH */
        
function getPath($id=NULL) {
        }
    
        
/* SET SECTION */
        
function setSection() {
        }
    
        
/* ADD SECTION */
        
function addSection() {
        }
        
        
/* DELETE SECTIONS */
        
function deleteSection() {
        }
    
        
/* MOVE SECTION */
        
function moveSection() {
        }
        
    }
?>
Hat jemand Vorschläge oder anregungen, wie ich das ganze Ausbauen könnte? Oder ist jemand daran interessiert mir bei der Entwicklung dieser Klasse zu helfen, da er sie gerne auch verwenden möchte?

MfG, Andy
__________________
BSc. Applied Computer Science
http://www.bornageek.com
Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Kann eine Klasse in einer Eigenschaft ein Objekt, einer anderen Klasse instanzieren? Balthazzar PHP für Fortgeschrittene und Experten 6 06.07.2006 16:06:36
Klasse in Klasse aufrufen wollenschlaeger PHP für Fortgeschrittene und Experten 4 14.07.2005 13:05:32
Andere Klasse aus Klasse aufrufen NanoCyte PHP für Fortgeschrittene und Experten 22 28.06.2004 21:24:53
Blätterfunktion als Klasse! Funjoy PHP Entwicklung und Softwaredesign 0 24.06.2004 23:45:04
Methoden in Klassen includen bzw. ausserhalb der Klasse definieren darius PHP für Fortgeschrittene und Experten 6 31.12.2003 10:32:42


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:27:01 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt