Page 1 of 1

DB Abfrage globalisieren, Variablen initialisieren ?

Posted: Tue 17. Feb 2004, 10:26
by tikemyson
Hallo.

Ich habe folgendes Problem.

Ich habe in einem Artikel einen Verweis auf eine externe PHP Datei. Dazu benutzte ich den {PHP:blablabla.php} - Tag.
in diese externe php datei habe ich eine Datenbank Abgfrage eingebunden welche auch wunderbar funktioniert.

Um mir zu ersparen, zu JEDEM einzelnen Artikel eine neue php datei zu includieren,habe ich die DB-Selectionen mit globalen Variablen hinterlegt.
Hat auch funktioniert.

Somit erhoffe ich mir, bei jedem Artikel immer nur die selbe php-datei includieren zu können.
Lediglich die Variablen müssten dann neu initialisiert werden.
Nur wo und wie mache ich das?

Somit würde die Anzahl der Dateien auf meinem Server drastich schrumpfen und der codingaufwand wäre mit sicherheit auch weniger.

Vielen Dank im Voraus für eure Hilfe.

Posted: Tue 17. Feb 2004, 16:03
by Oliver Georgi
pack das doch einfach im Template rein.

Oliver

oh weh! :)

Posted: Wed 18. Feb 2004, 10:08
by tikemyson
Hallo und Danke für deine Antwort.
Leider bin ich der Meinung das dies nicht funktioniert!
Vielleicht sollte ich mal kurz meinen seitenaufbau erläutern.

Aaaaaaaaaaaaaaaaalso:
oben im Head befindet sich eine Hauptnavigation, welche aus 5 operkategorien besteht, beim anklikken einer kategorie lade ich das dazugehörige template.
Dieses 'kontextabhängige' Template beinhaltet dann den selben Headbereich und pro template verschiedene navigationen im linken templateteil.

In dem gerade erwähnten linken templateteil befinden sich je nach kategorie 2 bis 3 verschiedene menüs.

1. Menü: zB.: ort;
2. Menü z.B.: gewerbe;

Klicke ich nun im 1. Menü (ort) den geünschten ort an, so möchte ich an eine query die die variabelen ...$ortname=ortname und $gewerbe=alle..übergeben.

Diese Variablen werden dann eine einen Artikel weitergegeben, der auf eine externe php.file verweist, welche eine db-query beinhaltet.

betätigt man nun das 2.menü mit den gewerben, so
so soll nur die variable $gewerbe=gewerbename gesetzt werden.und die query dann das gewünschte gewerbe im gewünschten ort hergeben.

Somit hätte ich den vorteil, dass ich IMMER zu nur einem und zwar dem selben php-beinhaltenden artikel verweisen müsste.

Es wäre einfach, aber vom coding nicht dynamisch genug, pro menüpunkt immer auf verschiedene php.files mit den schon passend gesetzten variablen zuzugreifen.

ich hoffe ich konnte meine problematik nun etwas besser belichten.

so long..

Posted: Wed 18. Feb 2004, 10:42
by Oliver Georgi
Nö - ist vollkommen unklar ;-). Hast Du nicht ein Beispiel für mich.

Aber prinzipiell ist das kein Problem. Du baust die Menüs für Gewerbe etc. ja selber - demzufolge kannst Du da auch reinpacken, was auch immer Du möchtest. Die Variablen werden ja durch Setzen der betreffenden $_GET['ort'] und $_GET['gewerbe'] übergeben, die Du gegenfragen kannst. Den Ziel-Artikel gibst Du entweder Hardcoded an - oder aber Du baust Deinen Link selbst: $_SERVER['PHP_SELF]'."?id=".$_GET['id']."&ort=".$custom_ort."&gewerbe=".$custom_gewerbe

Dir steht dann frei, zu tun, was Du möchtest...

Oliver

omg

Posted: Wed 18. Feb 2004, 11:29
by tikemyson
Du baust die Menüs für Gewerbe etc. ja selber
Nein, die menüs beue ich nicht selbst..es ist ein{NAV_TABLE_COLUMN:xx} menue drin!

Als 2. Menü ist ein dropdownfeld beinhaltet.

Leider habe ich das system local auf unserem campus installed, so das ich wenig zeigen kann.

gerne kann ich ein paar screenies per mail senden!

:P :P :P

mmh

Posted: Wed 18. Feb 2004, 11:31
by tikemyson
by the way:
bin leider in php nicht so betagt!

Posted: Wed 18. Feb 2004, 11:36
by Oliver Georgi
Jo schick mal - ich glaube das ist nicht schwer zu lösen. Guck mal bitte das hier - ich denke, Dir schwebt sowas ähnliches vor...

http://www.gfa-koethen.de/gfa-toursuche.php

Gib mal als Ort "Aken" ein und als Weg dann irgendwas mit "Weg"

Das dürfte das gleiche Prinzip sein, wie Dir vorschwebt ;-)

Oliver

ok...danke

Posted: Wed 18. Feb 2004, 11:39
by tikemyson
ich schick was...

Posted: Wed 18. Feb 2004, 14:10
by tikemyson
hat dich meine mail erreicht?

Posted: Wed 18. Feb 2004, 14:32
by Oliver Georgi
Ja - habe auch schon geantwortet - muss aber gleich wieder weg.

bekomme es nicht hin..

Posted: Thu 19. Feb 2004, 12:13
by tikemyson
....mein problem ist zwar haargenau das, welches du auf deiner beispielseite angegeben hast. aber leider bin ich zu blond und nicht so php-fit.

trotzdem danke! :(

Posted: Tue 1. Feb 2005, 11:52
by webinfopoint
Oliver Georgi wrote:Nö - ist vollkommen unklar ;-). Hast Du nicht ein Beispiel für mich.

Aber prinzipiell ist das kein Problem. Du baust die Menüs für Gewerbe etc. ja selber - demzufolge kannst Du da auch reinpacken, was auch immer Du möchtest. Die Variablen werden ja durch Setzen der betreffenden $_GET['ort'] und $_GET['gewerbe'] übergeben, die Du gegenfragen kannst. Den Ziel-Artikel gibst Du entweder Hardcoded an - oder aber Du baust Deinen Link selbst: $_SERVER['PHP_SELF]'."?id=".$_GET['id']."&ort=".$custom_ort."&gewerbe=".$custom_gewerbe

Dir steht dann frei, zu tun, was Du möchtest...

Oliver
-------------------------------------------------------------

Genau das Versuche ich die ganze Zeit zu erstellen:

<?php
$custom_ort = "berlin";
echo "<a href=".$_SERVER['PHP_SELF']."?id=".$_GET['id']."&ort=".$custom_ort.">variablen übergeben</a>";
echo "<hr>";
echo $ort;
?>

Das php ist in Ordnung, wenn ich es aber {PHP:_wip/variable.php} in das CMS einbaue, wird echo $ort; einfach nicht herausgelesen.

Warum?

Gruss Martin.

Posted: Tue 1. Feb 2005, 12:36
by Oliver Georgi
wo kommt $ort denn bloß her?

wenn Du das aus der URI ermitteln möchtest, musst Du wieder über $_GET gehen. Nur globale Variablen können von "außen" übern ommen werden.

Hast Du $ort schon mal woanders definiert dann so:

echo $_GET['ort'] oder aber echo $GLOBALS['ort'],

aber immer daran denken, dass Du variablen so nicht übernehmen solltest - also ohne Prüfung usw.

if(isset($_GET['ort'])) {
...
}

Oliver

Erfolgreich Variablen übertragen

Posted: Tue 1. Feb 2005, 12:48
by webinfopoint
Großen dank,

ich habe es verstanden.

Grüße Martin.