Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> wyciaganie id w drzewkach
Jabol
post
Post #1





Grupa: Przyjaciele php.pl
Postów: 1 467
Pomógł: 13
Dołączył: 22.02.2003

Ostrzeżenie: (0%)
-----


najpierw struktura[sql:1:eac870bfa9]DROP SCHEMA adam CASCADE;
CREATE SCHEMA adam AUTHORIZATION adam;
CREATE SEQUENCE contents_increment
START 1
INCREMENT 1
MAXVALUE 9223372036854775807
MINVALUE 1
CACHE 1;
CREATE SEQUENCE nodes_increment
START 1
INCREMENT 1
MAXVALUE 9223372036854775807
MINVALUE 1
CACHE 1;
CREATE TABLE contents (
id bigint DEFAULT nextval('contents_increment'::text) NOT NULL,
content text
);
CREATE TABLE nodes (
id bigint DEFAULT nextval('nodes_increment'::text) NOT NULL,
parent bigint,
name character varying(100)
);
CREATE TABLE asociations (
first_id bigint DEFAULT 0 NOT NULL,
second_id bigint DEFAULT 0 NOT NULL,
depth bigint DEFAULT 0 NOT NULL
);
CREATE TABLE binds (
node_id bigint DEFAULT 0 NOT NULL,
content_id bigint DEFAULT 0 NOT NULL
);
CREATE INDEX nodes_parent_ind ON nodes USING btree (parent);
CREATE INDEX asociations_second_id_depth_ind ON asociations USING btree (second_id, depth);
CREATE INDEX asociations_first_id_depth_ind ON asociations USING btree (first_id, depth);
CREATE INDEX asociations_first_id_ind ON asociations USING btree (first_id);
CREATE INDEX asociations_second_id_ind ON asociations USING btree (second_id);
ALTER TABLE ONLY nodes
ADD CONSTRAINT nodes_parent_name_key UNIQUE (parent, name);
ALTER TABLE ONLY nodes
ADD CONSTRAINT nodes_pkey PRIMARY KEY (id);
ALTER TABLE ONLY nodes
ADD CONSTRAINT "$1" FOREIGN KEY (parent) REFERENCES nodes(id) ON UPDATE NO ACTION ON DELETE CASCADE;
ALTER TABLE ONLY contents
ADD CONSTRAINT contents_pkey PRIMARY KEY (id);
ALTER TABLE ONLY binds
ADD CONSTRAINT binds_node_id_content_id_key UNIQUE (node_id, content_id);
ALTER TABLE ONLY binds
ADD CONSTRAINT binds_pkey PRIMARY KEY (node_id, content_id);
ALTER TABLE ONLY binds
ADD CONSTRAINT "$1" FOREIGN KEY (content_id) REFERENCES contents(id) ON UPDATE NO ACTION ON DELETE CASCADE;
ALTER TABLE ONLY binds
ADD CONSTRAINT "$2" FOREIGN KEY (node_id) REFERENCES nodes(id) ON UPDATE NO ACTION ON DELETE CASCADE;
ALTER TABLE ONLY asociations
ADD CONSTRAINT asociations_pkey PRIMARY KEY (first_id, second_id);
ALTER TABLE ONLY asociations
ADD CONSTRAINT "$1" FOREIGN KEY (second_id) REFERENCES nodes(id) ON UPDATE NO ACTION ON DELETE CASCADE;
ALTER TABLE ONLY asociations
ADD CONSTRAINT "$2" FOREIGN KEY (first_id) REFERENCES nodes(id) ON UPDATE NO ACTION ON DELETE CASCADE;
SELECT pg_catalog.setval ('nodes_increment', 1, true);
SELECT pg_catalog.setval ('contents_increment', 1, true);
INSERT INTO nodes (id, parent, name) VALUES (1, NULL, 'main');
INSERT INTO asociations (first_id, second_id, depth) VALUES (1, 1, 0);
CREATE VIEW paths AS SELECT id, get_path(id) AS path FROM nodes;[/sql:1:eac870bfa9]Teraz mam taki problem. Nie mam zielonego pojęcia jak wyciągnąć id po ścieżce. W odwrotną strone jest bardzo łatwo, ale tak jakoś mi się wydaje to dość trudne :| ... Jedyny sposób jaki dotąd wymyśliłem to zabawić się w prawdziwego shella i po prostu np. w php brać i wyciągać po koleji każdy kawałek, ale czy to byłoby wydajne ( zaraz się za to zabiore ).
Tak czy tak. Mam pytanie, czy macie może jakieś wyobrażenie jakby to zrobić jednym zapytanie ( używając podselectów czy tam czegokolwiek ).
Może Wy coś wymyślicie,
pozdrawiam, Jabol

ps. w razie wątpliwości patrzcie podpis.
Go to the top of the page
+Quote Post

Posty w temacie
- Jabol   wyciaganie id w drzewkach   29.11.2003, 16:58:50
- - Jabol   w php wygląda to tak ( może wam cosik pomoże ):...   29.11.2003, 21:30:28


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 18:49