PHP per Verweise/Link ausführen

Diskutiere mit über: PHP per Verweise/Link ausführen im Web-Programmierung Forum

  1. chrigu

    chrigu Thread Starter MacUser Mitglied

    Beiträge:
    155
    Zustimmungen:
    0
    Registriert seit:
    08.03.2004
    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
     
  2. bondiblue

    bondiblue MacUser Mitglied

    Beiträge:
    258
    Zustimmungen:
    0
    Registriert seit:
    27.10.2001
    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...
     
  3. chrigu

    chrigu Thread Starter MacUser Mitglied

    Beiträge:
    155
    Zustimmungen:
    0
    Registriert seit:
    08.03.2004
    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
     
  4. chrigu

    chrigu Thread Starter MacUser Mitglied

    Beiträge:
    155
    Zustimmungen:
    0
    Registriert seit:
    08.03.2004
    Habe das Problem mit JavaScript gelöst:

    Zwei Frames gleichzeitig ändern
     
  5. bondiblue

    bondiblue MacUser Mitglied

    Beiträge:
    258
    Zustimmungen:
    0
    Registriert seit:
    27.10.2001
    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
     
  6. bondiblue

    bondiblue MacUser Mitglied

    Beiträge:
    258
    Zustimmungen:
    0
    Registriert seit:
    27.10.2001
    ui 20 min zu spät :)
     
Die Seite wird geladen...
Ähnliche Themen - PHP per Verweise Forum Datum
Bilder per PHP bei Neuaufruf wechseln? Web-Programmierung 26.09.2011
per jQuery (Ajax) Dateien an den Server schicken und mit PHP verarbeiten Web-Programmierung 09.09.2010
Über PHP per FTP ein JPG laden Web-Programmierung 20.10.2009
Weiterleitung per PHP - Problem Web-Programmierung 30.01.2009
per PHP Datum leserlich gestalten Web-Programmierung 08.06.2008

Diese Seite empfehlen

Benutzerdefinierte Suche