SQL / Datenbanken Probleme mit SQL? Hier könnt ihr eure Fragen zu SQL (MySQL, PostgreSQL, MS-SQL und andere ANSI-SQL Server) los werden. |
 |

16-03-2005, 13:15
|
AndiA
Junior Member
|
|
Registriert seit: Jul 2004
Beiträge: 67
|
|
Dynamisches Formular mit Erweiterung beim Senden
Hallo,
ich arbeite an einem PHP/MySQL Mitteilungssystem. Benutzer sollen nach dem Login wie folgt vorgehen (einfach beschrieben)
Select:
Hardware
Software
Select:
[Selected]
- Unterpunkt 1
- Unterpunkt 2
und und...
Hardware steht in der Tabelle "thema" mit id 01, Software mit id 02. Klickt ein User jetzt auf Hardware, soll im folgenden Formular alles ausgegeben werden, was vierstellig ist und mit 01 beginnt. Der WHERE-Bereich müsste IMO mit ... >$selected00 AND <$selected99 gefüllt sein. Ich hoffe, ich konnte das verständlich ausdrücken. Versteht ihr, wie es gemeint ist? Man soll das Thema seiner Anfrage immer weiter eingrenzen. Angefangen bei einer zweistelligen ID der ersten Gruppe über eine vierstelligen ID der darauf aufsetzenden Gruppe (bsp: 0101 --> PC oder 0102 --> Kasse). Ich muss dem Formular nur weiß machen, wie ich das eingegrenzt weiterführe. Und da fehlt mir im Moment noch etwas die Idee.
Gruß,
Andi
|

16-03-2005, 14:56
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.745
|
|
suche nach menumenu
|

16-03-2005, 15:21
|
AndiA
Junior Member
|
|
Registriert seit: Jul 2004
Beiträge: 67
|
|
Viele vordefinierte Menü-Scripts für Webseitennavigation... Was genau meinst du?
|

16-03-2005, 15:35
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.745
|
|
dass du event. deine Tabellen umbaust
oder poste die Struktur deiner 2 Tabellen, dann kann man besser was sagen
|

16-03-2005, 16:10
|
AndiA
Junior Member
|
|
Registriert seit: Jul 2004
Beiträge: 67
|
|
id name
01 Hardware
0101 PC
010101 Drucker
010102 Lüfter
010103 Maus
010104 Monitor
010105 Tastatur
010199 Sonstiges
0102 Kassen-Terminal
010201 Display
010202 Drucker
010203 Kasse
010204 Scanner
010205 Tastatur
010299 Sonstiges
010301 Verschiedenes
0199 Sonstiges
02 Software
0201 WWS
020101 Höltl
020102 MARS
020103 Umsatzlisten
020104 Listen anfordern
0202 Office
020201 StarOffice
020202 MS Office 2000
020203 MS Office 2003/XP
0203 Internet / Mail
020301 Thunderbird (Mail)
020302 Firefox (Browser)
020303 Outlook Express (Mail)
020304 Internet Explorer (Browser)
0204 Fibu / Lohn
0205 Kassen-Programm
0299 Sonstiges
03 Sonstiges
0399 Sonstiges
Dies ist die mit phpmyadmin erstellte Druckansicht. Es geht immer eine Ebene weiter in die Tiefe. Wenn die letzte Ebene erreicht ist, soll das eigentliche Formular aufgehen.
|

16-03-2005, 16:21
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.745
|
|
sag bitte nicht, dass das die Daten aus einer Tabelle sind. Wenn ja, dann sollst du dir ernsthaft Gedanken über deinen DB-Design machen.
|

16-03-2005, 16:31
|
AndiA
Junior Member
|
|
Registriert seit: Jul 2004
Beiträge: 67
|
|
Dann kannst du mir ja sicherlich auch empfehlen, wie du es an dieser Stelle regeln würdest. Jedes Thema muss eine eindeutige ID haben, damit bei dieser Eingrenzung eben an der markierten ID aufgesetzt werden kann.
|

16-03-2005, 16:51
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.745
|
|
wenn's nicht zuviele Ebenen gibt, dann:
Code:
lgId txtDescription lgParentId
1 Hardware 0
2 Software 0
3 PC 1
4 Printer 1
5 Windows 2
6 NortonAV 2
7 CPU 3
8 HPLaserJet 4
9 XP 5
beschäftige dich mal mit dieser Struktur und Suche im Forum nach parentid oder menumenu
oder komplizierter: Nested Sets http://www.php-resource.de/tutorials/read/21/1/
|

16-03-2005, 16:59
|
AndiA
Junior Member
|
|
Registriert seit: Jul 2004
Beiträge: 67
|
|
Sieht gut aus. Da ich jetzt Feierabend habe, werde ich es mir zuhause anschauen und nochmal was posten. Danke dir schon mal!
|

18-03-2005, 08:41
|
AndiA
Junior Member
|
|
Registriert seit: Jul 2004
Beiträge: 67
|
|
Guten Morgen.
Ist das so dann in etwa richtig umgewandelt?
Code:
ID Bezeichnung Baum_ID
1 Hardware 1
4 PC 2
13 - Drucker 3
14 - Lüfter 3
15 - Maus 3
16 - Tastatur 3
17 - Sonstiges 3
5 Kassenterminal 2
18 - Display 4
19 - Drucker 4
20 - Kasse 4
21 - Scanner 4
22 - Tastatur 4
23 - Sonstiges 4
6 Verschiedenes 2
24 - Sonstiges 5
2 Software 1
7 WWS 2
25 - Höltl 6
26 - MARS 6
27 - Umsatzlisten 6
28 - Listen anfordern 6
29 - Sonstiges 6
8 Office 2
30 - MS Office 2000 7
31 - MS Office 2003/XP 7
32 - StarOffice 7
9 Internet / Mail 2
33 - Internet Explorer (Web) 8
34 - Outlook (Mail) 8
35 - Firefox (Web) 8
36 - Thunderbird 8
10 Fibu / Lohn 2
11 Kassenprogramm 2
12 Sonstiges 2
3 Sonstiges 1
13 Verschiedenes 2
|

18-03-2005, 08:49
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.745
|
|
Nein, denn z.B.
Drucker muß Baum_Id=4 haben, hier aber 3 (entspricht Sontiges)
und das ist in fast allen Einträge in der 2. und 3. Ebene, d.h. z.B. PC, Kassenterminals, Verschiedenes müssen Baum_Id=1 haben; Drucker & Co. müssen 4 haben; ....
|

18-03-2005, 08:59
|
AndiA
Junior Member
|
|
Registriert seit: Jul 2004
Beiträge: 67
|
|
Das heißt die zweite Ebene mit PC, Kassenterminal, Office, Internet/Mail etc. müssen Baum_ID 2=1 haben, weil die erste Ebene mit Hardware, Software und Sonstiges Baum_ID=0 haben?
Müssen alle Einträge einer Ebene die gleiche Baum_ID haben, oder soll diese je nach Überpünkt fortlaufend sein?
|

18-03-2005, 09:07
|
asp2php
Banned
|
|
Registriert seit: Feb 2004
Beiträge: 11.745
|
|
es scheint als ob du noch nicht begriffen hast, was gemeint war. Das Prinzip ist einfache Vater-Sohn (oder Mutter-Tochter) Beziehung.
Hardware und Software sind so zu sagen der Stammbaumgründer (von Gott erschaffen oder aus der Erde entsprungen oder ...  ) daher haben sie keine Vorfahren, also Baum_ID = 0. Alle weiteren Einträge müssen ihre Baumzugehörigkeit durch die Angabe von Baum_ID eindeutig nachweisen, und zwar es wird die ID seines am nächsten höher gestuften Vorfahren eingesetzt. Bsp.:
Hardware hat die ID 20
Somit hat PC (ID=1056) in Baum_ID die 20
Und CPU in Baum_ID die 1056
usw....
d.h. bevor du einen neuen Eintrag in die Tabelle einfügst, mußt du die ID des am nächsten liegenden Vorfahren wissen, um die Spalte Baum_ID zu füttern.
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Thema bewerten |
|
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.
HTML-Code ist aus.
|
|
|
|
PHP News
|