[HTML+PHP]Tabelle ist viel zu klein

te one

Lt. Commander
Registriert
Apr. 2009
Beiträge
1.255
Weiß einer was ich falsch mache?
Hab in die footer.tpl bei meiner uralten burning board version folgendes angefügt:

HTML:
<table bgcolor="{tableinbordercolor}" cellpadding=4 cellspacing=1 border=0 align="center">
<tr>
  <td bgcolor="{tablecolora}">
  <smallfont>
    <?php
    include '/usr/export/www/***/**ne*ork/***/***/anderes/***/***.php' ;
     ?>
  </font>
 </td>
 </tr>
 </table>
für die ***steht natürlich was drinnen!
wenn ich jetz einfach nur des include benutz, funktionierts einwandfrei!
wenn ich des jetz aba so unten am board in ner tabelle ausgeben will, seh ich nur eine tabelle die n paar pixel breit ist und maximal 5 pixel hoch! Allerdings steht da net des drinne was eigentlich die ***.php auswerfen sollte!
Muss ich da i-wie die ränder der tabelle "feststellen" odda lieg des problem i-wo anders?

(wie gesagt, wenn ich nur des include benutz, funktionierts eigentlich!)
 
Wird denn etwas anderes angezeigt (irgendein Text), wenn du es an die include-Stelle einfügst, oder kannst du das, was in der ***.php steht, testweise mal direkt dort einfügen?
 
jop naja wäre möglich (in der datei sind dann halt auch widda includes drinnen)!
aba ich denk dass ich des zamkopier müsste mögliche sein!
komm heut leider nixmehr dazu abba ich probiers morgen mal und schreib des ergebnis rein.

edit:
wenn ich jetz alles zusammenkopier und dann einfüge, bringt er mir oben am rand des forums einen error (aber in einer datei die eigentlich gar nicht betroffen ist), und der untere Teil des forum (der in der veränderten datei liegt) verschwindet ganz!

glaub des problem könnte sein, dass er wahrscheinlich in einer anderen datei ja ne verbindung zur datenbank herstellt...dann wird diese veränderte datei am ende durch include() eingefügt! dort will ich aber nochmal connecten und damit was berechnen und dann disconnectet mein skript wieder-->verbindung zur DB ist weg-->include des forums wurde durchlaufen und er will ganz normal weitermachn, aber er hat keine verbindung mehr zur DB!

jemand ne idee was man da machen könnte (bzw. ob mein gedanke im absatz obendrüber überhaupt stimmen könnte)?
 
Zuletzt bearbeitet:
Wie sieht denn der Quellcode im Browser (!) an der besagten Stelle genau aus?
 
also ohne deine php dateien zu kennen kann das ganze hier eh nich supporten.
 
ok wenn das script hilft dann hier mal des teil:

PHP:
<?php
include( 'sql_connect.php' );
$test = mktime( 0, 0, 0, 1, 1, 1970);
$aktuellezeit = mktime();
for ( $anzahl=1; $test < $aktuellezeit; $anzahl++) {
if ( $anzahl <= 100) {
$sql = "SELECT jahr, monat, tag, stunde, minute, sekunde FROM uebungen WHERE id = ".$anzahl.";";
$result = mysql_query($sql);
$uebungen = mysql_fetch_array($result);
$test = mktime( $uebungen['stunde'], $uebungen['minute'], $uebungen['sekunde'], $uebungen['monat'], $uebungen['tag'], $uebungen['jahr']);
}
else {
break;
}
}
echo 'Die nächste Übung ist in<br/>';
echo '<html>
<head>
<title>Countdown bis zur nächsten Übung</title>
<script language="Javascript">
<!--

var CountdownJahr = '.$uebungen['jahr'].';
var CountdownMonat = '.$uebungen['monat'].';
var CountdownTag = '.$uebungen['tag'].';
var CountdownStunde = '.$uebungen['stunde'].';
var CountdownMinute = '.$uebungen['minute'].';
var CountdownSekunde = '.$uebungen['sekunde'].';

function CountdownAnzeigen()
{
    var Jetzt = new Date();
    var Countdown = new Date(CountdownJahr, CountdownMonat-1, CountdownTag, CountdownStunde, CountdownMinute, CountdownSekunde);
    var MillisekundenBisCountdown = Countdown.getTime()-Jetzt.getTime();
    var Rest = Math.floor(MillisekundenBisCountdown/1000);
    var CountdownText = "";

    if(Rest >= 31536000)
    {
        var Jahre = Math.floor(Rest/31536000);
        Rest = Rest-Jahre*31536000;

        if(Jahre > 1 || Jahre == 0)
        {
            CountdownText += Jahre + " Jahre ";
        }
        else if(Jahre == 1)
        {
            CountdownText += Jahre + " Jahr ";
        }
    }
    if(Rest >= 86400)
    {
        var Tage = Math.floor(Rest/86400);
        Rest = Rest-Tage*86400;

        if(Tage > 1 || Tage == 0)
        {
            CountdownText += Tage + " Tagen ";
        }
        else if(Tage == 1)
        {
            CountdownText += Tage + " Tag ";
        }
    }
    if(Rest >= 3600)
    {
        var Stunden = Math.floor(Rest/3600);
        Rest = Rest-Stunden*3600;

        if(Stunden > 1 || Stunden == 0)
        {
            CountdownText += Stunden + " Stunden ";
        }
        else if(Stunden == 1)
        {
            CountdownText += Stunden + " Stunde ";
        }
    }
    if(Rest >= 60)
    {
        var Minuten = Math.floor(Rest/60);
        Rest = Rest-Minuten*60;

        if(Minuten > 1 || Minuten == 0)
        {
            CountdownText += Minuten + " Minuten ";
        }
        else if(Minuten == 1)
        {
            CountdownText += Minuten + " Minute ";
        }
    }

    if(Rest > 1 || Rest == 0)
    {
        CountdownText += Rest + " Sekunden ";
    }
    else if(Rest==1)
    {
        CountdownText += Rest + " Sekunde ";
    }

    document.getElementById(\'Countdown\').innerHTML = CountdownText;
    window.setTimeout("CountdownAnzeigen()", 1000);
}
//-->
</script>
</head>
<body onLoad="CountdownAnzeigen();">

<span id="Countdown"></span>

</body>
</html>';
$platzhalter = array();
if ( $uebungen['tag']<10) {
$platzahlter['tag']=0;
}
if ( $uebungen['monat']<10) {
$platzahlter['monat']=0;
}
if ( $uebungen['stunde']<10) {
$platzahlter['stunde']=0;
}
if ( $uebungen['minute']<10) {
$platzahlter['minute']=0;
}
if ( $uebungen['sekunde']<10) {
$platzahlter['sekunde']=0;
}

echo '<br/>(Am '.$platzahlter['tag'].' '.$uebungen['tag'].'.'.$platzahlter['monat'].''.$uebungen['monat'].'.'.$uebungen['jahr'].' um '.$platzahlter['stunde'].''.$uebungen['stunde'].':'.$platzahlter['minute'].''.$uebungen['minute'].':'.$platzahlter['sekunde'].''.$uebungen['sekunde'].' Uhr)';

include( 'sql_disconnect.php' );
?>

dieses script trägt dann den namen 'uebungen.php' und liegt einfach im hauptverzeichnis zusammen mit der 'sql_connect.php' und der 'sql_disconnect.php'
hab ich jetz halt einfach versucht über die include()-funktion in eine html-tabelle mit einer zeile und einer spalte unten ans board anzufügen.
 
1. Nimm doch einfach die Funktionen des WBB für SQL her ($db->query() und so wenn ich mich recht erinnere) und lass das Ganze disconnect usw. weg. Es ist sehr wahrscheinlich, dass du hier tatsächlich auch fürs WBB einen disconnect durchführst und damit das WBB-Skript selber nicht mehr ganz durchläuft.
2. Es ist syntaktisch vollkommen falsch wenn du hier wieder <html>, <title>, </body> usw. ausgibst! Auch das body onload wird wohl eher nicht hinhauen.
3. platzahlter => platzhalter
4. Das echo gibt sofort diese Zeile aus und daher wird der ganze HTML-Text auch VOR dem eigtl. Template ausgegeben! Das funktioniert im Templatesystem so aber nicht! Du müsstest das in ne Variable schreiben und diese dann im Template schreiben (oder alternativ den output ob_start() verhindern aber das ist total unnötig, siehe unten).

Ich würde dir daher am Einfachsten Folgendes vorschlagen:
1. Lagere den ganzen Javascript-Code in eine statische .js-Datei aus. Die 6 Variablen übergibst du.
2. Füge anstelle des body onload dann einfach ein
PHP:
<script src="js/countdown.js" type="text/javascript">
CountdownAnzeigen($uebungen['jahr'],$uebungen['monat'], $uebungen['tag'], $uebungen['stunde'], $uebungen['minute'], $uebungen['sekunde']);
</script>
in dein footer-Template NACH dem include der php-Datei ein. Evtl. musst/kannst du die Anführungszeichen im Array auch weglassen (bin mir da bzgl. dem WBB-Templatesystem grad nicht sicher; teste es einfach).
3. Die php-Datei selbst definiert nur die "$uebung"- und "platzhalter"-Variablen. Für die eine SQL-Abfrage verwendest du die wbb-eigene Funktion
PHP:
$uebungen = $db->query_first("SELECT jahr, monat, tag, stunde, minute, sekunde FROM uebungen WHERE id = ".$anzahl.";");
und deine SQL-Dateiincludes bleiben komplett weg. Das sollte dann ein sehr kompaktes Skript sein. Die eine Zeile, die das PHP-Skript noch ausgibt ("(Am '.$platzahlter['tag'].' '.$uebungen['tag']." usw.), kommt auch ins Template.
 
Zuletzt bearbeitet:
ahja
ich probiers aus sobald ich zeit hab! kann allerdings noch weng dauern weil ich jetz erstmal formatieren muss.

meld mich dann obs geklappt hat
 

Ähnliche Themen

Zurück
Oben