Mailinglisten-Archive |
> -----Original Message----- > From: php-admin_(at)_phpcenter.de [mailto:php-admin_(at)_phpcenter.de]On Behalf Of > Manuel Trunk > Sent: Wednesday, March 21, 2001 4:29 PM > To: php_(at)_phpcenter.de > Subject: [php] Re: [php] OT?: Designrätsel > > > Hallo Juri, Hi Manuel, > > Das Auslesen klappt wunderbar, aber wenn ich etwas einfügen möchte, > verabschiedet sich MySQL ziemlich heftig. Hier das SQL Statement: > > "Lock tables Personnel write; > Update Personnel set r=r+2 where r+0>=:oldr; > Update Personnel set l=l+2, r=r+2 where l+0 between :oldl+1 and :oldr; > Insert Into Personnel (emp, salary, l, r) values ('Manuel', '100', 20, > 2); > Unlock tables;" Ist auch verstandlich, der hat Probleme mit :oldr und :oldl > Ehrlich gesagt reichen meine SQL Kenntnisse (was heißt :oldl) auch nicht > aus, um das zu verstehen, ich weiß, RTMF, aber wo (genau)? > Vielleicht hast du ja eine Funktion, die mir einen Mitarbeiter, sagen wir > unter Jerry anlegt, und dabei die left-right-Felder richtig setzt? Wenn du > dann auch noch eine Funktion hast die den Mitarbeiter wieder > löscht, bin ich > glücklich :-) Hee ;-), ich hatte mit diesem Baum ein paar Stunden experementiert (und auch einige Funktionen geschrieben, frag mich aber nich wo sie jetzt sind ;-)) Zum Implementieren bin ich noch nicht gekommen. Trotzdem: Was die :wasauchimmer bedeuten, sieht man u.A. im LöschVorgang. Das sind Variablen die z.B. von PHP aus gesetzt werden. LOCK TABLES Personnel WRITE; SELECT emp AS oldemp, l AS oldl, r AS oldr FROM Personnel WHERE emp=:downsized; DELETE FROM Personnel WHERE emp = :downsized; UPDATE Personnel SET l = l-1, r = r-1 WHERE l BETWEEN oldl AND oldr; UPDATE Personnel SET l = l-2, r = r-2 WHERE l > oldr; UNLOCK TABLES; Hier ist :downsized Leaf(Knoten)Name , was deleted wird. Z.B. "Chuck". function DelNode($NodeName) { ... $strSQL="DELETE FROM Personnel WHERE emp = '$NodeName'"; ... } Beim Einfuegen, bin ich mir nicht sicher (zum Nachdenken keine Zeit ;-) deswegen einfach ausprobieren ), sind oldl und oldr die jeweilige Parameter vom VaterNode, wo Dein neuer Leaf angehaengt wird. Gruss, Juri
php::bar PHP Wiki - Listenarchive