PHP per Verweise/Link ausführen

chrigu

chrigu

Aktives Mitglied
Thread Starter
Dabei seit
08.03.2004
Beiträge
155
Reaktionspunkte
0
Ich habe folgendes Prob und noch keine Lösung gefunden,

PHP:
$res = mysql_db_query("hochschule",
			'SELECT * FROM themen WHERE FaID='.$_GET['FaID'].'');
			$num = mysql_num_rows($res);
		
			for ($i=0; $i<$num; $i++)
			{
				$th = mysql_result($res, $i, "Thema");
				$tabthid = mysql_result($res, $i, "ThID");
			
				if (isset($_GET['ThID']))
				{	
					if ($tabthid == $_GET['ThID'])
					{
						echo '<a href="kurse.php?FaID='.$_GET['FaID'].'&ThID='.$tabthid.'" target="kurse"><span class="GTFett">'.$th.'</span></a><p>';
					} else
					{
						echo '<a href="kurse.php?FaID='.$_GET['FaID'].'&ThID='.$tabthid.'" target="kurse"><span class="GTFettgrau">'.$th.'</span></a><p>';
					}
				} else
				{
					echo '<a href="kurse.php?FaID='.$_GET['FaID'].'&ThID='.$tabthid.'" target="kurse"><span class="GTFett">'.$th.'</span></a><p>';
				}
			}

Die Links werden schwarz dargestellt sofern, der Wert der Variable via $_GET['ThID'] unbekannt oder des gewählten Linkes entspricht, dabei sollten alle anderen grau werden, wobei letztes nur funktioniert, wenn die Variable $_GET['ThID'] einen Wert enthält. Dieser Wert wird aber erst bekannt, wenn die Seite via Link "kurse.php?FaID=xxx&ThID=xxx" in ein anderes Frame geladen wird, genau hier sollte nochmals die Seite "fachbereiche.php", die dieses Script enthält durchlaufen werden, aber da fehlt mir die Lösung. Am einfachsten wäre es wenn man mit <a href… die zwei Seiten gleichzeitig aufrufen könnte.

Hoffe ich habe mich einigermassen verständlich ausgedrückt,

Gruss Christoph
 
hallo christoph

ich habe echt probs deine gedanken nachzuvollziehen.
wäre hilfsreich wenn du den "ist" zustand (ausführlicher) beschreibst und anschliessend das ergebnis was du dir erhoffst...
ein link auf die seite (nur vorübergehend) ist meistens auch hilfsreich.


lg
bb

ps.:ich lese mir alles nochmal in ruhe durch...
 
Ok, ich versuchs nochmal (habe leider keinen Webspace um es zu veröffentlichen).

Ich suche irgendeine funktion oder sonst was, die die Seite wo sich das PHP Script befindet nochmals aufruft, aber nur wenn folgender Link aufgerufen wird: <a href="kurse.php?FaID='.$_GET['FaID'].'&ThID='.$tabthid.'" target="kurse"><span class="GTFett">'.$th.'</span></a>.

Mein Problem ist vorübergehend gelöst, wenn "kurse.php" durch "fachbereiche.php" ersetzt wird also: <a href="fachbereiche.php?FaID='.$_GET['FaID'].'&ThID='.$tabthid.'"><span class="GTFett">'.$th.'</span></a>, weil dann nochmals die Seite aufgerufen wird indem sich das Programm befindet und die Variable $_GET['ThID'] den Wert erhält, der im Link "fachbereiche.php?FaID=1&ThID=2 definiert wurde.

Der "ist" Zustand
Folgende Bedingung:
PHP:
if (isset($_GET['ThID'])) 
________________{____ 
____________________if ($tabthid == $_GET['ThID']) 
____________________{ 
________________________echo '<a href="kurse.php?FaID=.$_GET['FaID'].'&ThID='.$tabthid.'" target="kurse"><span class="GTFett">'.$th.'</span></a><p>'; 
____________________} else 
____________________{ 
________________________echo '<a href="kurse.php?FaID=.$_GET['FaID'].'&ThID='.$tabthid.'" target="kurse"><span class="GTFettgrau">'.$th.'</span></a><p>'; 
____________________} 
________________} else 
________________{ 
____________________echo '<a href="kurse.php?FaID='.$_GET['FaID'].'&ThID='.$tabthid.'" target="kurse"><span class="GTFett">'.$th.'</span></a><p>'; 
________________}
ergibt folgende Ausgabe: "<a href="kurse.php?FaID='.$_GET['FaID'].'&ThID='.$tabthid.'" target="kurse"><span class="GTFett">'.$th.'</span></a><p>" also das letze echo,
weil $_GET['ThID'] noch definiert wurde und erst dann bekannt wird, wenn der Wert per Link übergeben wird. Nun wird aber nicht das obige Script aufgerufen sondern die Seite "kurse.php" weil die ins Nachbar Frame geladen werden sollte.

Der "soll" Zustand
Der Link sollte nicht nur die Seite ins Nachbar Frame laden, sonder auch noch sich selber einmal laden, weil nun die Variable $_GET['ThID'] definiert wurde, und die Bedingung (siehe oben) entscheiden kann, ob das erste echo mit <span class="GTFett"> oder das zweite mit <span class="GTFettgrau"> ausgegeben werden sollte.

Ich hoffe, ich habe dich nicht noch zusätzlich verwirrt, aber jedenfalls danke für deine Bemühungen.

Gruss Christoph
 
Habe das Problem mit JavaScript gelöst:

Zwei Frames gleichzeitig ändern
 
hallo

also wenn ich es richtig verstehe liegt dein problem an dem reloaden eines zusätzlichen frames.
ok ich arbeite nicht mit frames daher keine erfahrung aber ich versuchs dennoch denn ich glaube dein problem ist nicht so groß wie es aussieht. soweit mir bekannt kann man gleichzeitig nicht mehrere urls aufrufen aber das soll uns nicht dabei hindern dennoch 2 aufzurufen undzwar hintereinander. daher ergeben sich zwei möglichkeiten:

1. erst nachbarframe aufrufen und dann sich selbst
oder
2. erst sich selbst dann nachbarframe

leider kenne ich die struktur deine seiten nicht und deshalb kann ich keine detailierte angaben machen...
also als lösung bietet sich an eine variable für zustand zu definieren z.B. $_GET["reload_frame"]. die baust du in die url ein wo du sie brauchst bzw wenns reloaden erwünscht ist.
z.B.:
// erst sich selbstaufrufen durch link

sichselbst.php? $_GET["reload_frame"]=1&FaID='.$_GET['FaID'].'&ThID='.$tabthid.'" target="michselbstframe"

dann kannst du die variable in dem von dir gewähltem skript abfangen und weiterleiten:

if($_GET["reload_frame"]==1)
header("location: ="kurse.php?FaID='.$_GET['FaID'].'&ThID='.$tabthid.'" target="kurse"); // dann weiterleiten

hoffe dir zumindestens das prinzip verständlich gemacht zu haben.


lg
bb
 
ui 20 min zu spät :)
 
Zurück
Oben Unten