kleineMax: HTML iframe "steuern", src ändern

Also ich hab von euch schon mal super Hilfe bekommen. Danke noch mal dafür.
Das einzige was ich bemängle ist das "Forum" selbst. An die Verantwortlichen die bitte also: Macht ein richtiges Forum draus, kein Messageboard. Denn dann könnte man auch besser alte Themen finden bzw. den Stand eines Themas besser verfolgen ;).

So aber nun zu meiner Frage.
Ich habe einen PHP bereich auf meiner Seite mit einer Switch-Verzweigung. Nun soll je nach Fall das src Attribut von mehrere iframes im HTML-Bereich der Seite geändert werden.
Sprich je nach Fall soll das, dort angezeigte, Bild geändert werden.
Wie bekomme ich das hin?
Das Manuel von PHP.net is irgendwie zu groß finde da nix ^^.

Danke im Voraus.

MFG kleineMax

  1. Hallo,

    Das einzige was ich bemängle ist das "Forum" selbst. An die Verantwortlichen die bitte also: Macht ein richtiges Forum draus, kein Messageboard.

    äh, wie jetzt? Das hier IST ein richtiges Forum, kein Board!

    Denn dann könnte man auch besser alte Themen finden bzw. den Stand eines Themas besser verfolgen ;).

    Was hast du angesichts der übersichtlich gegliederten Darstellung für Schwierigkeiten damit?

    Ich habe einen PHP bereich auf meiner Seite mit einer Switch-Verzweigung. Nun soll je nach Fall das src Attribut von mehrere iframes im HTML-Bereich der Seite geändert werden.
    Sprich je nach Fall soll das, dort angezeigte, Bild geändert werden.
    Wie bekomme ich das hin?

    Das solltest du jetzt etwas genauer erläutern - am besten mit einem Ausschnitt aus deinem Quellcode. Mit PHP kannst du doch bei jedem Aufruf jedes src-Attribut generieren, das dir gefällt. Wo liegt dein Problem?

    Das Manuel von PHP.net is irgendwie zu groß finde da nix ^^.

    Ja, einverstanden - es ist etwas unübersichtlich, und man muss schon immer recht genau wissen, wonach man eigentlich sucht.

    So long,
     Martin

    --
    F: Was sagt die kleine Kerze zur großen Kerze?
    A: Ich gehe heute nacht aus!
    1. OK also nen Forum is das sicher nicht (zumindest kein gutes)...nicht böse sein ;)
      Weil es sollte doch übersichtlich sein, aber hier kann es sein das Jemand als 5. antwortet und ganz oben steht. Dies nur weil man auf den Hauptbeitrag geklickt hat. Und trotzdem bezieht man sich dann auf schon geschrieben Antworten, das passiert sogar Leuten die hier ein- und ausgehen.
      Ich mein halt son Forum: http://unrealed.de/index.php (nur ein bsp. nichts weiter)

      Naja und damit ihr versteht was ich meine kopier ich den Quelltext mal hier rein:

      <form action=
      "<?php echo $PHP_SELF; ?>" method="post">
      Gebäude (A/B) - Raumnummer&nbsp;&nbsp;&nbsp;&nbsp;<br>
      <input type="text" name="gebaeude" size="3"> - <input type="text" name="raum" size="4"><br>
      <input type="submit" value="Suchen">&nbsp;&nbsp;&nbsp;&nbsp;
      <input type="reset" value="Felder löschen">
      </form>

      <table width="640"  border="0" bordercolor="#000000" cellpadding="0" cellspacing="0" cellpadding="0">
      <tr height="320">
        <td colspan="3"><iframe name="uebersicht" src="/bilder/eg.jpg" width="640" height="320"
               scrolling="no" frameborder="0" marginheight="0" marginwidth="0" frameborder="0"></iframe></td>
      </tr>
      <tr height="240">
        <td width="300"><iframe name="rechtsunten" src="/bilder/a21-1.jpg" width="300" height="240"
               scrolling="no" frameborder="0" marginheight="0" marginwidth="0" frameborder="0"></iframe></td>
        <td width="40"></td>
        <td width="300"><iframe name="rechtsunten" src="/bilder/a21-1.jpg" width="300" height="240"
               scrolling="no" frameborder="0" marginheight="0" marginwidth="0" frameborder="0"></iframe></td>
      </tr>
      </table>
      <?php

      if ($_POST['gebaeude'] == "A"){
               echo "Haus A gewählt";
               switch ($_POST['raum'])
               {
               case 1:
               case 2:  echo " eg Haus A ganz hinten";
        break;
               case 11:
               case 12: echo " 1og Haus A ganz hinten";
                       break;
      ..........

      case 7:
               case 8:  echo " eg Haus A Mitteleingang";
                       break;
               case 18: echo " 1Og Haus A Mitteleingang";
                       break;
               case 27: echo " 2Og Haus A Mitteleingang";
                       break;
               case 38: echo " 3Og Haus A Mitteleingang";
                       break;
               }
         }
       elseif ($_POST['gebaeude'] == "B"){
               echo "Haus B gewählt";
               switch ($_POST['raum'])
               {
               case 01: echo " Kg Haus B ganz vorne";
                       break;
               case 1:
               case 2:  echo " eg Haus B ganz vorne";
                       break;
               case 11:
               case 12: echo " 1og Haus B ganz vorne";
                       break;
      .................
               case 16:
               case 18: echo " 1Og Haus B Mitteleingang";
                       break;
               case 27: echo " 2Og Haus B Mitteleingang";
                       break;
               case 38: echo " 3Og Haus B Mitteleingang";
                       break;
               }
         }
      ?>

      naja und ich will halt, wie gesagt, dass sich je nach Fall src="/bilder/eg.jpg" z.B. in src="/bilder/1og.jpg" ändert.

      MFG
      KleineMax

      1. Hallo kleineMax.

        OK also nen Forum is das sicher nicht (zumindest kein gutes)...nicht böse sein ;)

        Doch, genau das hier ist ein Forum und nichts Anderes. (Und ein erstaunlich übersichtliches dazu.)

        Weil es sollte doch übersichtlich sein, aber hier kann es sein das Jemand als 5. antwortet und ganz oben steht.

        Hier kann es nicht nur so sein, sondern hier ist es so. die aktuellste Antwort auf ein Posting wird im Folgezweig des Threads an oberste Stelle gesetzt und das ist auch sinnvoll so.

        Dies nur weil man auf den Hauptbeitrag geklickt hat. Und trotzdem bezieht man sich dann auf schon geschrieben Antworten, das passiert sogar Leuten die hier ein- und ausgehen.

        Gewiss nicht. Jeder antwortet hier genau auf das Posting, auf das er sich bezieht, also ganz logisch.

        Ich mein halt son Forum: http://unrealed.de/index.php (nur ein bsp. nichts weiter)

        Wie erwartet: das ist ein Board und _kein_ Forum.
        Lies dir ruhig einmal Stefans Artikel über den Unterschied zwischen Foren und Boards durch, vielleicht verstehst du es dann besser.

        Einen schönen Mittwoch noch.

        Gruß, Ashura

        --
        sh:( fo:} ch:? rl:( br: n4:~ ie:{ mo:| va:) de:> zu:} fl:( ss:) ls:[ js:|
        mathbr:del.icio.us/ mathbr:w00t/
      2. Moin,

        OK also nen Forum is das sicher nicht (zumindest kein gutes)...nicht böse sein ;)

        Eines der übersichtlichsten, die ich bisher erlebt habe.

        Weil es sollte doch übersichtlich sein, aber hier kann es sein das Jemand als 5. antwortet und ganz oben steht.

        Dass neuere Beiträge oben erscheinen, finde ich auch nicht in Ordnung; aber wenn man sich als Benutzer registriert, kann man das zum Glück nach Belieben umstellen.
        Davon abgesehen steht jedes Posting etwas eingerückt unter dem, auf das der Schreiber geantwortet hat.

        Dies nur weil man auf den Hauptbeitrag geklickt hat. Und trotzdem bezieht man sich dann auf schon geschrieben Antworten, das passiert sogar Leuten die hier ein- und ausgehen.

        Kaumstens. Du antwortest ja genau auf das Posting, das über dem Antwortfeld angezeigt wird.

        Ich mein halt son Forum: http://unrealed.de/index.php (nur ein bsp. nichts weiter)

        Dazu hat Ashura schon was gesagt: Das ist kein Forum, sondern ein typisches Board, in dem alle Beiträge unstrukturiert untereinander stehen. Man sieht also nicht, wer wem geantwortet hat.

        naja und ich will halt, wie gesagt, dass sich je nach Fall src="/bilder/eg.jpg" z.B. in src="/bilder/1og.jpg" ändert.

        Dann musst du wohl um die Ausgabe des img-Elements eine ähnliche PHP-Konstruktion basteln, wie du sie bereits weiter unten hast. Bei der Gelegenheit grage ich mich natürlich auch, warum du für ein Bild noch ein iframe verwendest. Ich würde stattdessen das Bild direkt einbinden, oder wenn es um das Scrollen in einem bestimmten Ausschnitt geht, dann ein div. Dann bräuchtest du auch nicht mit den invaliden Attributen frameborder, marginwidth und marginheight zu jonglieren. Aber das sei dir überlassen. Übrigens, warum gibst du das frameborder-Attribut zweimal an?

        <?php
          echo "<td colspan='3'><iframe name='uebersicht' ";
          if ($_POST['gebaeude']=="A")
           { switch ($_POST['raum'])
              { case 1:
                case 2:
                case 7:
                case 8:
                   echo "src='/bilder/eg.jpg'";
                   break;
                case 18:
                   echo "src='/bilder/1og.jpg'";
                   break;
                 ...
              }
           }
          echo " width='640' height='320' scrolling='no' frameborder='0' marginheight='0' marginwidth='0'></iframe></td>";
        ?>

        Noch etwas übersichtlicher wird es, wenn du PHP-Code und HTML-Code nicht vermischen würdest. Ermittle in einem PHP-Block am Anfang alle Wert und lege sie in Variablen ab, die du dann im HTML-Block nur noch einsetzen musst.

        Schönen Tag noch,
         Martin

        --
        Kleine Geschenke erhalten die Freundschaft.
        Große verderben sie aber meist auch nicht.
        1. Also danke erstmal,
          nun aber mal wieder ne Frage ;) Das bild wird dann aber auch so wieder in der Tabelle dargestellt? Weil das wäre wichtig.
          Naja und das mit dem frameborder.... ka wieso aber lustig isses.
          Und den kram kann ich doch sicher in den schon vorhanden PHP-Teil einbinden, das Text-echo kann sowieso weg, war nur zu testzwecken.

          Aber deinen Hinweis zum Veringern des PHP-HTML-Mixes werde ich nicht beherzigen ;), bin ein totaler Anfänger was PHP angeht...bin froh das es funzt :D. Trotzdem danke.

          So ma kucken ob ich es hinbekomme.

          THX erstmal...wieder ;)

          MFG
          kleineMax