BlackBox: nochmal Tabelle!

Hallo,

ich hab's schon mal versucht, aber da hat keiner so richtig verstanden was ich wollte, deswegen jetzt noch mal ne ganz genaue Problemschilderung!

Ich möchte eine Tabelle erzeugen die wie folgt aufgebaut sein sollte:

|---------------------------------------
|        |    |  xx:xx  |    |    |    |
|ZELLE A |    |  xx:xx  |    |    |    |
|        |    |  xx:xx  |    |    |    |
|--------|    |  xx:xx  |    |    |    |
|  TEXT  |    |  xx:xx  |    |    |    |
|--------|    |  xx:xx  |    |    |    |
|        |    |  xx:xx  |    |    |    |
|ZELLE B |    |  xx:xx  |    |    |    |
|        |    |  xx:xx  |    |    |    |
|---------------------------------------

hier mein bisheriger Code:
--------------------------------------------------------------
<table width="100%" height="*" border="1">
  <tr>
    <td> </td>
 <td rowspan="3"> </td>
    <td rowspan="3" align="center">12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br>12:45<br></td>
    <td rowspan="3"> </td>
    <td rowspan="3"> </td>
    <td rowspan="3"> </td>
  </tr>
  <tr>
    <td height="25" align="center">TEXT</td>
  </tr>
  <tr>
    <td> </td>

</tr>
</table>
-------------------------------------------------------------

Ziel soll also sein, die Zelle(!!!) mit dem "Text" (der kann verschieden lang sein) vertikal genau in die Mitte zu bringen (so wie in der Skizze), nicht wie es alle verstanden haben den eigentlichen Text! Das Problem dabei ist wenn meine tabelle eine feste höhe hätte wär das ja kein Problem, aber die "xx:xx" stehen für Uhrzeiten und die werden durch PHP dynamisch eingefügt. So dass ich nie weiß wieviele zeiten eingefügt werden und damit auch nicht wie groß die Tabelle bei der Ausgabe wird. Egal wie ich es bisher versucht habe es war immer die "Zelle B" ganz groß und die Telle A klein. --> ZELLE A und B sollen sich quasi gleichmäßig auf den Rest der Tabelle verteilen

Ich glaube jetzt ist mein Problem deutlicher rübergekommen, ich hoffe es kann mir jemand helfen.

  1. Hallo,

    ich hab's schon mal versucht, aber da hat keiner so richtig verstanden was ich wollte, deswegen jetzt noch mal ne ganz genaue Problemschilderung!

    Es ist unhoeflich und unnoetig, dafuer einen neuen Thread aufzumachen.

    Doppel- und Draengelpostings sind hier nicht beliebt, siehe
    </faq/#Q-06c>

    Bitte bleib in Deinem Thread und warte dort auf Antworten:
    [pref:t=61223&m=344986]

    Gruesse,

    Thomas

    1. Ja sorry wenn's alle nicht checken was ich will, dann muss ich den beitrag ändern und wenn ich irgendwo im posting von heute früh was ändere schaut da keine sau mehr rein, also kein terror!

      1. Ja sorry wenn's alle nicht checken was ich will, dann muss ich den beitrag ändern und wenn ich irgendwo im posting von heute früh was ändere schaut da keine sau mehr rein, also kein terror!

        Doch ist Terror!
        Lie die Links im Posting von Thomas
        Im übrigen schauen Säue so oder so nicht rein!

        Du erwartest Hilfe!
        Überlege mal ein bischen!

        TomIRL

        1. Ja ja du bist ja nen ganz Witziger der Spruch war voll einfallsreich, aber ich seh schon euer Niveau halt!

          Egal, pasta la vista!

          1. Hi,

            wie lang bist du schon in diesen Forum hier?
            Warscheinlich noch nicht allzu lang, sonst wüsstest du dass sogar noch antworten auf den allerletzten Thread kommen. Aus dem ganz einfachen Grund, weil die meisten das Forum von unten nach oben durcharbeiten. Desweiteren wirst du so keine Antwort bekommen. Ich bin mir sogar sicher das viele "aeltere" Forumsteilnehmer sogar die Hilfe verweigern wenn einer so draengelt!

            Bitte ließ die noch die </faq/> durch.

            Für sonstige Fragen

            <img src="http://forum.de.selfhtml.org/images/11.gif" border="0" alt="">

            mfg
            -WebViper-

            --
            ss:| zu:] ls:/ fo:) de:> va:) ch:| sh:} n4:) rl:° br:& js:| ie:| fl:) mo:|
            Linux - life is too short for reboots!
            This is unix land.
            In quiet nights you can hear windows machines reboot.
            1. gut, dass es genug foren über html gibt und ich meine antwort schon bekomme!!! außerdem wenn ich bock habe ändere ich den post und setz ihn unter einem anderen namen rein, also was wollt ihr denn eigentlich alle!

              das ist nen freies land mit dem recht auf meinungsäußerung und das so oft wie ich lust habe!

              1. Moin!

                gut, dass es genug foren über html gibt und ich meine antwort schon bekomme!!! außerdem wenn ich bock habe ändere ich den post und setz ihn unter einem anderen namen rein, also was wollt ihr denn eigentlich alle!

                Wir wollen, dass zusammengehörige Diskussionen zusammenbleiben.

                Schließlich interessiert es alle, die helfen wollen, welche Lösungsmöglichkeiten zu einem Problem schon gegeben wurden. Und das ist auch in deinem Interesse. Wenn du nämlich immer dieselbe Frage stellst, und immer die gleiche erste Antwort kriegst, weil du ein "typisches Problem" hast, dann nervt dich das doch auch.

                Wenn du in deinem Thread bleibst, weiß jeder, wie der Stand der Dinge ist, du muß nicht immer und immer wieder die gleichen Zusatzinformationen geben, und alle, die später den Thread im Archiv finden, finden (sofern eine gefunden wurde) auch die Lösung. Neue Threads wären im Archiv aber nicht verlinkt und würden nicht zwingend gefunden - und wenn dort eine Lösung kommt, gibts zwei Threads: Einen mit der ausführlichen Beschreibung des Problems, aber ohne Lösung, und den zweiten mit dem Hinweis "Nein, das ist alles ganz anders, nämlich in diesem und jenem Detail", das Ursprungsproblem fehlt aber, und die Lösung ist deshalb vielleicht unverständlich.

                Außerdem: Du kannst den Namen ändern, ja. Aber dein Problem kannst du nicht ändern. Und deinen Code kannst du nicht ändern. Irgendwie wird man dich also wiedererkennen und feststellen "Aha, hier will uns einer verarschen". Und das bringt dir dann das Gegenteil von dem ein, was du wolltest, nämlich eine Problemlösung.

                das ist nen freies land mit dem recht auf meinungsäußerung und das so oft wie ich lust habe!

                Korrekt, korrekt. Aber das hier ist auch ein freies Forum, in dem Leser zu deinen Meinungs- und Problemäußerungen Kommentare abgeben können. Und wenn es ganz dick kommt, werden Postings auch mal gelöscht. Bedenke: Die Nutzung des Forums ist ein Privileg ("fühle dich geehrt, dass du es darfst"), und kein einklagbares Recht. Schließlich bezahlst du ja nicht dafür.

                - Sven Rautenberg

                --
                "Beim Stuff für's Web gibts kein Material, was sonst das Zeugs ist, aus dem die Sachen sind."
                (fastix®, 13. Oktober 2003, 02:26 Uhr -> </archiv/2003/10/60137/#m338340>)
  2. Hallo BlackBox,

    ich habe dein Problem nach wie vor nicht vollständig ergründen können, jedoch habe ich eine vage Vorstellung davon, wie dir u.U. geholfen sein könnte.
    Wenn ich deine Darstellung richtig interpretiere, befinden sich links drei Zellen untereinander (Zelle A, Text, Zelle B).
    Gib doch dynamische Größen an.
    Wenn Zelle "Text" genau mittig liegen soll, gibst du den jeweiligen Zellen (beispielsweise) jeweils die Größe 33% oder, wenn die Zelle "Text" größer sein soll, 30%,40%,30%.

    Das sollte funktionieren.

    Ich bin mir allerdings nicht im Klaren, warum du nicht weist, wieviele Uhrzeiten ausgegeben werden.

    Mit freundlichen Grüßen an BlackBoc und alle weiteren Forumsteilnehmer - Hurrtz

    1. danke erstmal, soweit klingt's gut, doch mit der dynamischen höhe sieht es auch schlecht aus, weil ich der mittleren zelle eine feste höhe geben will!

      und ich weiß nicht wieviele zeiten, weil das aus einer datenbank kommt oder das für einen solchen komplex wie ich ihn skizziert habe unterschiedlich sein kann, mal sind es nur 3, manchmal aber auch 6 oder so! Sagen wir so die tabelle weiß das vorher nicht, soll wirklich alles dynamisch aus PHP erzeugt werden.

      1. Hallo BlackBox,

        tja, also solange die Anzahl der Uhrzeiten nicht explodiert (100 oder so), müsste das, was ich vorgeschlagen habe, doch eigentlich möglich sein.
        Wenn über der Tabelle nur der Body liegt (also <body>...<table>), kannst du doch für <table height> 100% angeben. Die Prozente der einzelnen Zellen beziehen sich dann auf diese 100%.
        Du hast von 6 Uhrzeiten gesprochen. +/- 10 Uhrzeiten geht das noch gut, glaube ich.

        Also hier nochmal, was ich meine:

        <body>
        <bla>
        </bla>
        <bla>
        </bla>
        <table height="100&%" width=...>
        <tr>
        <td height="20%"> </td>
        <td height="60%"> </td>
        <td height="20%"> </td>
        </tr>
        </table>
        </body>

        Vielleicht funktioniert das ja bei dir.

        Mit freundlichen Grüßen an BlackBox und alle weiteren Forumsteilnehmer: Hurrtz

    2. Hi,

      so, wenn du die uhrzeiten über php einfügst, dann kannst du doch da die anzahl das uhrzeiten bestimmen. multipliziert mit der höhe für eine zeile (kannst du ja mit line-height festlegen) hast du die höhe der tabelle (h_tab). die höhe von zelle TEXT hast du ja auch (h_text). die höhe von zelle a ergibt sich dann nach adam riese: h=(h_tab - t_text)/2... das über php als height in die tabelle einfügen und fertig.

      ist doch nicht so schwer, deshalb heißt es doch dynamisch PROGRAMMIEREN...

      hoffe das hilft dir weiter....

      holdrio OGGY

  3. also bei mir klappt folgendes php file...

    <html>
    <head>
    <?php
     $uhr=array('12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23','12:23');
     function height(){global $uhr; $anz=0; foreach($uhr as $i) $anz++; echo ($anz*19-30)/2;}
     function show(){global $uhr; foreach($uhr as $i) echo "$i<br>";}
    ?>
    <style> .tab{height:<?=height()?>px} </style>
    </head>
    <body>
    <table border="1">
      <tr><td><div class="tab"></div></td><td rowspan="3" style="line-height:19px"><?php show();?></td></tr>
      <tr><td height="30" align="center" valign="middle">TEXT</td></tr>
      <tr><td><div class="tab"></div></td></tr>
    </table>
    </body>
    </html>

    vielleicht hilft das weiter...

    für den rest des forums:
    bitte keine grundsatzdiskussion über programmiertechnik und htmlvollständigkeit. habe das beispiel in 5 min reingehackt und es extra kurz und einfach gehalten...

    holdrio oggy