php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-01-2005, 23:02
Chaos06
 Newbie
Links : Onlinestatus : Chaos06 ist offline
Registriert seit: Dec 2004
Beiträge: 14
Chaos06 ist zur Zeit noch ein unbeschriebenes Blatt
Standard Visualisierung eines Stammbaums

Hi,

ich muss unbedingt ein PHP-Script schreiben das mir von Leuten in meiner Datenbank einein Stammbaum erstellt. Jeder DB-Eintrag besteht aus 3 Feldern.

1. ID
2. Name
3. Vorfahre

Wie gesagt möchte ich nun das mir das Script in einer Stammbaumansicht (zb. wie im Windows Explorer) darstellt wie die einzelnen Leute zueinander in Vebindung stehen. Der Einfachheit halber soll jede Person nur einen Vorfahren statt 2 haben. Ich bekomme das ganze aber leider überhaupt nicht hin. Kann da jemand helfen?
Mit Zitat antworten
freelancermap.de - IT Projektvermittlung für Selbständige und Freiberufler
  #2 (permalink)  
Alt 09-01-2005, 23:07
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wo genau hast du denn probleme?
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #3 (permalink)  
Alt 09-01-2005, 23:33
Chaos06
 Newbie
Links : Onlinestatus : Chaos06 ist offline
Registriert seit: Dec 2004
Beiträge: 14
Chaos06 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Mir fehlt es einfach an einer Idee wie das zu verwirklichen wäre. Ich weiß schon das ich das am besten über Rekursive Programmierung erreiche, nur fehlt mir irgendwie der Ansatz. Wenn ich sonst Probleme mit PHP hatte dann habe ich einfach angefangen und mir den Rest aus Büchern, Foren etc. zusammengesucht, an dieser Stelle jedoch bin ich ziehmlich aufgeschmissen.
Mit Zitat antworten
  #4 (permalink)  
Alt 10-01-2005, 01:46
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

mal angenommen,

du hast die id der person, die als ausgangspunkt gilt ... ab damit in ein array

- schauen, ob die ein vorfahr hat ... wenn ja, merken (an den anfang des arrays setzen) und zu dieser person einen vorfahr suchen

- schauen, ob die ein nachkommen hat ... wenn ja, merken (ans ende des arrays setzen) und zu dieser person einen nachkommen suchen

jetzt hast du ein array, welches in chronologischer reihenfolge die person enthält ...
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #5 (permalink)  
Alt 10-01-2005, 10:15
DSB
 Banned
Links : Onlinestatus : DSB ist offline
Registriert seit: Dec 2002
Ort: Hamburg
Beiträge: 374
DSB ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Dein Problem ist genau die Theorie der "nested sets".
Such mal nach diesem Stichwort.
Das Thema erfordert aber schon einige Hirnzellen und ist vom Niveau her recht hoch anzusiedeln. Also nicht gleich aufgeben. :-)
Mit Zitat antworten
  #6 (permalink)  
Alt 10-01-2005, 13:06
Chaos06
 Newbie
Links : Onlinestatus : Chaos06 ist offline
Registriert seit: Dec 2004
Beiträge: 14
Chaos06 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@Der-Hund: So einfach funktioniert das leider nicht, da jede Person im Stammbaum auch mehrer NAchfahren haben kann die auf der gleichen Ebene liegen.

@DSB: Sowas hatte ich befürchtet (das mit den Hirnzellen). Werde mal die Suche anschmeißen. Thx.
Mit Zitat antworten
  #7 (permalink)  
Alt 10-01-2005, 14:08
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
So einfach funktioniert das leider nicht, da jede Person im Stammbaum auch mehrer NAchfahren haben kann die auf der gleichen Ebene liegen.
schön, daß du diesen umstand gleich erwähnt hast ...
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #8 (permalink)  
Alt 10-01-2005, 14:49
Chaos06
 Newbie
Links : Onlinestatus : Chaos06 ist offline
Registriert seit: Dec 2004
Beiträge: 14
Chaos06 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hm okay direkt erwähnt hab ich es nicht. Naja ist ja auch egal. Ich habe mir die Sache mit den NEsted Sets mal angesehen und das kommt für mich eher nicht in Frage weil die DB-Struktur bereits sthet und ohne weiteres läßt sich das nicht an die Erfordernisse der Nested Sets angleichen. Gibts sonst noch eine Möglichkeit?

2. Frage

Ich habe immer noch nicht genau verstanden was hier gemacht wird:

PHP-Code:
while($tmp mysql_fetch_array($result)) { 

  
$forumarray$tmp["ID"] ] = $tmp;         
  
$kindarray$tmp["PID"] ][] =  $tmp["ID"]; 
Es geht mir in erster Linie um die erste Zeile. Wie ich schonmal erwähnt habe, habe ich mal diese Syntax gelernt:

PHP-Code:
While[Bedingung]
{
Anweisung

Hier scheint das aber anders zu sein. Wäre jemand so nett mir das mal genauer zu erklären?
Mit Zitat antworten
  #9 (permalink)  
Alt 10-01-2005, 14:53
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Hier scheint das aber anders zu sein. Wäre jemand so nett mir das mal genauer zu erklären?
nein, ist doch das selbe ...

die bedingung ist hier eben nur der wahrheitswert einer variablen, der vorher noch etwas zugewiesen wird. wenn fetch-array keine objekte mehr kriegt, leifert es false ... somit die abbruchbed. der schleife ....

da das zu den elementaren grundlagen gehört, frage ich lieber nochmal, ob ich deine frage richtig verstanden hab?
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #10 (permalink)  
Alt 10-01-2005, 15:04
Chaos06
 Newbie
Links : Onlinestatus : Chaos06 ist offline
Registriert seit: Dec 2004
Beiträge: 14
Chaos06 ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du hast es richtig verstanden. Mir war nicht bewußt das man innerhalb der Bedingung eine Zuweisung machen kann. Um sicherzugehen:

Das ganze beduetet also:

Weise der Variablen $tmp den Wert aus mysql_fetch_array($result) zu und überprüfe dann ob die Variable $tmp existiert. Richtig?
Mit Zitat antworten
  #11 (permalink)  
Alt 10-01-2005, 15:19
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Original geschrieben von Chaos06
Das ganze beduetet also:

Weise der Variablen $tmp den Wert aus mysql_fetch_array($result) zu und überprüfe dann ob die Variable $tmp existiert. Richtig?
nein, letzteres ist falsch.

natürlich existiert $tmp, denn du hast ihr ja gerade einen wert zugewiesen.

überprüft wird, ob der wert wahr oder falsch ist. beschäftige dich mal mit bool'schen variablen/ausdrücken.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
Antwort

Lesezeichen


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

Themen-Optionen
Thema bewerten
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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

PHP Marktplatz-Software
PHP Marktplatz-SoftwareEs hat sich viel getan! Die neue Version 7.5.9 unserer PHP Marktplatz-Software ebiz-trader steht ab sofort zur Verfügung.

28.10.2019 | Berni

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni


 

Aktuelle PHP Scripte

SMT

Server Monitoring & Management Tool Das SMT wurde von einem Administrator für Administratoren entwickelt, es vereinfacht den Alltag in der klassischen Administration und Verwaltung. Mit dem SMT kannst Du alle Deine Server & Dienste verwalten und überwach

09.10.2020 palle_1977 | Kategorie: PHP
phplinX-Erotikportal 4 ansehen phplinX-Erotikportal 4

Erweiterbares Portal speziell für Erotik mit den Modulen Webkatalog, Bannermanagement und Kleinanzeigenmarkt. Sämtliche Module können über einen einzigen Adminbereich verwaltet werden.

18.06.2020 Cosinus14 | Kategorie: PHP/ Anzeigenmarkt
Erotik-Portal

Mit unsererem Erotik-Portal erhalten Sie ein komplettes Internetprojekt inklusive einer bedienerfreundlichem Administration sowie zahlreichen wichtigen Funktionen. Unser auf PHP und MySQL basierendes Script bietet Ihnen - und Ihren Besuchern - komfort

18.06.2020 ISD-Genthin | Kategorie: PHP/ Anzeigenmarkt
 Alle PHP Scripte anzeigen

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