PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Key für Hashtable übermitteln und anschliessned auf derselben Seite ve


Dominic Suter
27.12.2001, 15:51
Hallo
Eins vorweg: Ich bin ein PHP Newbie, daher frage ich lieber einmal zuviel, als dass dann etwas nicht geht ;)

Meine Idee: Auf meiner Seite hat es Hyperlinks, welche einen auf eine andere Seite verweisen. Diese neue Seite möchte ich gerne auf der selben Seite anzeigen, wie die, die gerade betrachtet wird.
Dazu dachte ich, dass ich einen Key, der ein GET im Hyperlink ist, an die Datenbank (MySQL) sende, diese entsprechend den Inhalt bereitstellt und diesen dann an die bestehende Seite übergibt.

Ist da so machbar, oder gibt es etwas, das dagegen spricht?

Mfg Stoenggi


pate33
27.12.2001, 16:13
ich weiss zwar nich so richtig was du meinst, aber zum thema inhalt auf der gleichen seite anzeigen geht das viel einfacher:

du hast eine seite mit tables... links z.b. ist ein menue, welches sich nicht veraendern soll...

nun schreibst du in die zelle, in der der inhalt geandert werden soll:

GetData($action);

die links solltest du so schreiben:

./index.php?action=NewData

(je newdata kannst ja veraendern)

und nun schreibst du noch ne funktion:

function GetData($action) {
if ($action == "NewData") {
blabla
}
elseif ($action == "blabla") {
nochmehrbla
}


versuchs einfach mal... wenns nicht klappt, einfach nochmal melden... :D

greetz

Bauchi
27.12.2001, 19:27
hier würde ich eher SWITCH´en... der übersichtlichkeit halber ... :-)
ansonsten ... passt´s so ... also ich würd´s genauso machen ... :-)

mit den ganzen klammer orgien (ok. nicht hier aber es gibt sie wirklich ... ich hab schon welche gesehn) kommt man schon mal gern durcheinander wenn man besoffen coden muss ... :-)

Dominic Suter
27.12.2001, 19:28
Das meinte ich nicht ganz, kann es aber auch gleich gebrauchen :)

Was ich meinte ist folgendes:

1. User klickt auf einen Hyperlink
2. Dieser Hyperlink sendet ein Keyword für eine Hastable, die sich in MySQL befindet.
3. Anhand dieses Keys wird der neue Inhalt der Seite geladen.

z.B. gibt es auf jeder Seite einen Titel und einen Bodytext. Nun möchte ich das Layout nur einmal machen und entsprechend den Inhalt ändern.

1. Seite besteht, Titel ($Title): PHP Programmiersprache
Bodytext($Body): PHP macht...

2. User klickt auf einen Link auf derselben Page (MySQL)

3. Nun wird MySQL als Key an eine Hashtable übergeben. Diese übergibt nun den Inhalt an die Variabeln $Title und $Body, so dass auf der selben Seite nun stehen soll:

4. Titel: MySQL Datenbank
Bodytext: MySQL wird vor allem...

Nun meine Frage: Geht so etwas? Kann mit jemand evtl. einige Lösungsansätze geben?

Vielen Dank!

Dominic Suter
27.12.2001, 19:30
Original von Bauchi
hier würde ich eher SWITCH´en... der übersichtlichkeit halber ... :-)


Hmmm....
Was meinst du mit Switchen? Die eine Seite gibt den Aufruf, dieser wird auf einer zweiten dargestellt. Wird nun von dort erneut ein Aufruf gestartet, so geht der Inhalt wieder an die erste Seite?
Ist das nicht kompliziert?

pate33
27.12.2001, 20:24
er meint die funktion switch()

ist das selbe wie ne if-else verbindung fuer wiederholende abfagen...

greets

Bauchi
27.12.2001, 20:28
Info´s zu switch (http://www.php.net/manual/de/control-structures.switch.php)
da gibts hilfe ... ;-)

thx silencer... hast mir einen teil meiner antwort schon abgenommen *G*

Dominic Suter
28.12.2001, 11:03
Ah, Switch ()

na, das kenne ich schon von Java, C, etc. bin nur nicht gerade gestiegen, da wir unter Kollegen z.B. schnell die Strassenseite switchen (also überqueren). Dachte daher eher an einen Austausch...
Aber die Idee gefällt mir!

pate33
28.12.2001, 12:19
jaja, die schweizer... :D

aber mal wieder zu dem problem:

irgendwie steig ich da noch nicht so recht durch... kannst du mal ein beispiel oder so posten?!

thx

Bauchi
28.12.2001, 12:22
jo genau .. wär ned schlecht... sonst wird das immer mehr off topic hier ;-)

Dominic Suter
28.12.2001, 13:22
Das mit dem Beispiel geht im Moment leider noch nicht, bin noch mit der Navigation beschäftigt, aber ich probiere es nocheinmal mit Worten.

1. Die Seite besteht aus zwei grossen Tabellen. In der linken ist die Navigation untergebracht, in der rechten eine Seite mit dem Grundlayout. (z.B. www.windows2000helpline.de)
2. Auf der rechten Seite will ich dieses Layout immer anzeigen, es geht nie weg oder wird nicht neu geladen. Wenn der Besucher nun auf einen Hyperlink klickt, soll lediglich der Inhalt der Seite, jedoch nicht das Layout neu geladen werden. (Stellt euch das so vor: Es gibt zwei Tabellen. In der oberen wird der Titel angezeigt, in der unteren der Inhalt passend zum Titel.) Soweit ok?
3. Wenn der user nun einen anderen Inhalt sehen will, klickt er in der Navigation auf einen neuen Titel. Dieser Link soll dann einen Key übermitteln. Etwa xyz.com?page=Wetter
4. Dieser Schlüssel soll nun von einer MySQL-Datenbank abgefangen werden. Dieser geht nun an die Stelle Wetter und "hohlt" dort den Neuen Wert für die Variable $title (z.B. Wetter) und $body (z.B. Prognose...).
5. Der user sieht nun statt dem alten Titel neu den Title Wetter und als Text Prognose... , aber das Layout der Seite wurde nicht neu geladen!

Ich erhoffe mir damit eine bessere Wartungsfreundlichkeit, da ich damit jeweils nur eine Seite neu gestalten muss. Zudem müssen die Graphiken für die Seite nicht jedesmal neu geladen werden.

Nun meine Frage: Geht das so, oder wie würded Ihr so etwas machen:
Ihr habt eine Page, 4Sprachig. Pro Sprache habt Ihr 51 Seiten. Der Inhalt einiger Seiten wird ständig erneuert, einige kommen dazu. Ihr habt eine JS für die Navi, das stehts auf der rechten Seite sein soll. Der angeforderte Inhalt wird jeweils auf der rechten Seite angezeigt (Aussehen immer gleich)
Die Seite muss für möglichst viele Besucher lesbar sein, d.h. keine Frames, Flash etc.

Ich bin auf eure Ansätze gespannt....

Bauchi
28.12.2001, 13:46
also was du willst ist also im endeffekt ein contentmanagemnt system, was für dich alles erledigt *G*
PHPNuke (http://www.phpnuke.org) ist zum beispiel sowas ...

wenn du alles selber coden willst... dann wünsch ich dir viel spass (*würg*), das wird echt ein cooler Job... :evil:

zu machen ist es... das ist klar...
dafür sollte dir HTML geläufig sein (das mit den layouts die gleich bleiben sollen z.B. Navi) kannst ja mit includes machen in denen du einfach einen Table generierst...


schau dir das mal an -> http://cosmic-music.ath.cx/ <- und sag mal was du davon hältst.. ich schick dir dann mal den source von der page ...

Dominic Suter
28.12.2001, 13:57
Hmm, ich werd mir PHPNuke mal anschauen, könnte in die Richtung gehen...

HTML-Kenntnisse habe ich, das Grundgerüst steht ja auch schon. Wie ich den rest erledige, wird sich Heute Nachmitag und morgen zeigen*stress*

Aber am Source-Code wäre ich schon interessiert. Kannst du Ihn an dominic.suter¦@psi.ch mailen (Spam-Protected, ¦ vor dem @ entfernen!)

Vielen Dank!

ThreeJay
28.12.2001, 17:12
Also, ich hätte da eine Lösung für dich, allerdings nicht mit ner Datenbank sondern mit Textfiles.
dein link soll index.php?page=xyz heissen, richtig? Dann schreibst du einfach in die mittlere Tabelle
include(&quot;inc\$page.inc&quot;)
Dann wird die $page.inc(zB news.inc) geladen und deren Inhalt in die mittlere Spalte der index.php geladen. Damit auch etwas geladen wird wenn du keine $page angegeben hast schreibst du noch oben(also vor den Tabellen in deine Datei
if( isset($page) { $page=index };
dann wird die index.inc eingefügt(oder welche Datei du auch immer einfügen willst)

Dominic Suter
28.12.2001, 18:26
Vielen Dank ,sowas meinte ich. Mir solls nur recht sein, wenn ich die Datenbank vorläufig ausser Acht lassen kann, bin so langsam aber sicher im Verzug mit der Page.