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 ::

Handbuch der Java-Programmierung

Handbuch der Java-Programmierung 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 > MySQLi/PDO/(MySQL)

MySQLi/PDO/(MySQL) Anfänger, Fortgeschrittene oder Experten können hier Fragen und Probleme rund um MySQLi/PDO/(MySQL) diskutieren

Antwort
 
Themen-Optionen Ansicht
  #11  
Alt 27.02.2013, 11:47:43
Sjard Sjard ist offline
Anfänger
 
Registriert seit: Feb 2013
Alter: 43
Beiträge: 7
AW: select abfrage Kategoriebaum

Nested sets ist gut, aber nicht für alle hieraischen Tiefenstrukturen zu gebrauchen. Es wird mehrfach darauf hingewiesen, das es auch hier Vor- und Nachteile gibt. Der größte Nachteil ist eine ständige Änderung an der Struktur bei nicht konstanten Kind und Knotenelementen. Manchmal sind die Gegebenheiten nicht zu Ändern, auch wenn man es schöner machen möchte und nicht kann oder darf.

Hier die Lösung hinsichtlich deiner Vorlage: GETESTET !

Code:
SELECT
     p.c_id,
     p.p_id, 
     c_name,
     p.c_id AS sequence
FROM
     cat AS p,
     cat_d
WHERE
     p.p_id = 0 and p.c_id = cat_d.c_id
UNION 
     (SELECT  
          t.c_id,
          t.p_id, 
          c_name, 
          t.p_id AS sequence
       FROM
          cat AS t,
          cat_d
       WHERE
          t.p_id <> 0 and t.c_id = cat_d.c_id)
ORDER BY
     sequence,
     c_name,
     p_id
Die Feinheiten sollten noch angepasst werden.

Gruß,

S.

Geändert von Sjard (27.02.2013 um 12:12:05 Uhr)
Mit Zitat antworten
  #12  
Alt 27.02.2013, 14:25:52
eleven eleven ist offline
Anfänger
 
Registriert seit: Feb 2013
Alter: 49
Beiträge: 7
AW: select abfrage Kategoriebaum

Zitat:
Zitat von Sjard Beitrag anzeigen
Nested sets ist gut, aber nicht für alle hieraischen Tiefenstrukturen zu gebrauchen. Es wird mehrfach darauf hingewiesen, das es auch hier Vor- und Nachteile gibt. Der größte Nachteil ist eine ständige Änderung an der Struktur bei nicht konstanten Kind und Knotenelementen. Manchmal sind die Gegebenheiten nicht zu Ändern, auch wenn man es schöner machen möchte und nicht kann oder darf.
Ich denke ja auch so wie Meikel aber wenn es manchmal nicht geht, dann geht es nicht. Wenn es meins wäre wäre ich sofort auf Nested Sets aufgesprungen, aber ist nicht so !

Zu deiner Abfrage soweit ok nur bekomme ich jetzt kommischerweise folgende Ansicht im Anhang. Was bedeutet das er bei 6 Kategorien 12 ausgibt!


gruß eleven
Miniaturansicht angehängter Grafiken
dbabfrage.jpg  
Mit Zitat antworten
  #13  
Alt 27.02.2013, 16:15:59
Sjard Sjard ist offline
Anfänger
 
Registriert seit: Feb 2013
Alter: 43
Beiträge: 7
AW: select abfrage Kategoriebaum

Sehr merkwürdig, ich habe deine oben beschriebene Tabelle genutzt und erhalte folgendes als Ergebniss:

Code:
c_id 	p_id 	c_name 	               sequence
1 	0 	Kat 1 	               1
3 	1 	Unter_Kat 1a 	       1
4 	1 	Unter_Kat 1b 	       1
2 	0 	Kat 2 	               2
5 	2 	Unter_Kat 2a 	       2
6 	5 	Unter_unter_Kat 2a     5
Hier die Tabellen:

Code:
CREATE TABLE `cat` (
  `c_id` bigint(6) NOT NULL auto_increment,
  `p_id` bigint(6) NOT NULL,
  PRIMARY KEY  (`c_id`)
)
INSERT INTO `cat` (`c_id`, `p_id`) VALUES
(1, 0),
(2, 0),
(3, 1),
(4, 1),
(5, 2),
(6, 5);

CREATE TABLE `cat_d` (
  `c_id` bigint(6) NOT NULL auto_increment,
  `c_name` varchar(120) collate latin1_german1_ci NOT NULL,
  PRIMARY KEY  (`c_id`)
)
INSERT INTO `cat_d` (`c_id`, `c_name`) VALUES
(1, 'Kat 1'),
(2, 'Kat 2'),
(3, 'Unter_Kat 1a'),
(4, 'Unter_Kat 1b'),
(5, 'Unter_Kat 2a'),
(6, 'Unter_unter_Kat 2a');
Mit Zitat antworten
  #14  
Alt 27.02.2013, 16:47:21
eleven eleven ist offline
Anfänger
 
Registriert seit: Feb 2013
Alter: 49
Beiträge: 7
AW: select abfrage Kategoriebaum

WOW!!!!

Du hattes recht irgendwie haben sich die leeren Kategorien in die DB geschlichen!

Danke an Sjard und Meikel jetzt geht es

Gruß
seven
Mit Zitat antworten
  #15  
Alt 27.02.2013, 21:27:05
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: select abfrage Kategoriebaum

Zitat:
Zitat von eleven Beitrag anzeigen
WOW!!!!
Du hattes recht irgendwie haben sich die leeren Kategorien in die DB geschlichen!
Danke an Sjard und Meikel jetzt geht es
Die Blumen bei Sjard abgeben. Der hat sich die Mühe, für die ich zu faul war/bin/bleiben werde.

eleven, wenn Du mal Zeit hat, dann übetrage das Beispiel mal in einen nested sets Baum.

Beachte bei den Links die Seiten von Arne Klempert. Der hatte früher sogar mal ne Klicki-Anwendung auf seinen Seiten, mit der man Elemente erstellen, verschieben und löschen konnte. Zum optische Ah gabs auch gleich die entsprechenden SQL Strings.

KA, obs das heute noch gibt: bei PEAR gabs mal ein tree menu auf nested sets Basis + Javascript zum Auf- und Zuklappen der Äste.
Mit Zitat antworten
  #16  
Alt 05.03.2013, 10:44:08
eleven eleven ist offline
Anfänger
 
Registriert seit: Feb 2013
Alter: 49
Beiträge: 7
AW: select abfrage Kategoriebaum

@meikel
Werde ich tun wenn mal die Zeit da ist, und das Projekt von mir begonnen wird!

Ich weiss jetzt gar nicht ob es jetzt hier hereinpasst ich frage jetzt trotzdem mal, hat irgendjemand ne Idee wie ich die hierarische Struktur mit einrückungen darstellen kann, das ganze wird in einer while schleife dargestellt. Mir gehen aber jetzt die Ideen aus wie ich nach dem Hauptkategorie punkt eine einrückung erzeuge bzw. in den tieferen Strukturen dementsprechend mehr einrückungen.

Wenn jemand ne idee hat wäre super !!


grüße eleven
Mit Zitat antworten
  #17  
Alt 05.03.2013, 15:58:15
Benutzerbild von meikel (†)
meikel (†) meikel (†) ist offline
SELFPHP Guru
 
Registriert seit: Dec 2003
Ort: Erfurt
Alter: 75
Beiträge: 4.001
AW: select abfrage Kategoriebaum

Zitat:
Zitat von eleven Beitrag anzeigen
@meikel
Werde ich tun wenn mal die Zeit da ist, und das Projekt von mir begonnen wird!
Jo. "Nichts ist langlebiger als ein Provisorium".,

Einrückung:
Zitat:
Wenn jemand ne idee hat wäre super !!
Hier:
http://www.klempert.de/nested_sets/#kap1

Zitat:
Erweitern wir also unsere Abfrage und nutzen dafür einen weiteren logischen Zusammenhang: "LFT und RGT aller Nachfahren liegen zwischen den LFT- und RGT-Werten der Vorfahren".

Code:
  SELECT n.name,
         COUNT(*)-1 AS level
    FROM tree AS n,
         tree AS p
   WHERE n.lft BETWEEN p.lft AND p.rgt
GROUP BY n.lft
ORDER BY n.lft;
Bild: http://www.klempert.de/nested_sets/tab2.png
Was Du suchst, ist der jeweilige Wert von 'level'.

Aber Du willst ja das Fahrrad neu erfinden.
Mit Zitat antworten
Antwort

Stichworte
kategoriebaum, select


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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
Doppelte Abfrage in einem SELECT Mark Knochen MySQLi/PDO/(MySQL) 9 02.09.2010 21:30:07
Ausgabe wird nicht angezeigt Extremefall PHP Grundlagen 9 17.12.2009 09:49:45
select array abfrage problem bluepower2020 PHP Grundlagen 3 14.07.2008 13:28:51
SELECT Abfrage nur mit gefüllten Werten Skyman MySQLi/PDO/(MySQL) 0 25.10.2007 00:01:50
select feld mit if abfrage? Silencer PHP für Fortgeschrittene und Experten 3 20.11.2002 10:34:59


Alle Zeitangaben in WEZ +2. Es ist jetzt 09:50:56 Uhr.


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


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