Tabelle dynamisch einfügen

christina1234

Grünschnabel
Hallo,

ich will eine Tabelle dynamisch mit Daten aus einer Datenbank ausgeben, aber ich scheine immer einen Fehler bei der Funktion "currentweek" zu machen, aber ich seh ihn nicht, aber vielleicht könnt ihr mir da weiterhelfen.

PHP:
include("include/session.php");

<?
function getCurrentWeek(){
    $username = $_GET['user'];
    $db = @new mysqli('localhost', 'root', '', 'eOWC');
    $result = $db->query("SELECT * FROM currentweek WHERE idMitarbeiter='$username'");
    echo $result->num_rows;

}
?>

<script language="JavaScript" type="text/javascript">

    function currentweek(){
                var TR = document.getElementById("current").insertRow(1);
                TR.innerHTML = "<td>Projekt</td><td>Tätigkeit</td><td>Montag</td><td>Dienstag</td><td>Mittwoch</td><td>Donnerstag</td><td>Freitag</td><td>Samstag</td><td>Sonntag</td>";

                <?
                    $username = $_GET['user'];
                    $db = @new mysqli('localhost', 'root', '', 'eOWC');
                    $result = $db->query("SELECT * FROM currentweek WHERE idMitarbeiter='$username'");
                    $i = 1;
                    while ($row = $result->fetch_assoc()) {
                       $var = "TR".$i;
                       echo "var ".$var." = document.getElementById(\"current\").insertRow(1);";
                       echo $var.".innerHTML = \"<td>".$row['Projekt']."</td><td>".$row['Taetigkeit']."</td><td>".$row['Montag']."</td><td>".$row['Dienstag']."</td><td>".$row['Mittwoch']."</td><td>".$row['Donnerstag']."</td><td>".$row['Freitag']."</td><td>".$row['Samstag']."</td><td>".$row['Sonntag']."</td>\"";
                       $i++;
                    }
                ?>


               
            
    }

</script>
<html>
<title>History</title>
<body>
<a href="javascript:currentweek();">Stundenabrechnung der aktuellen Woche(<? getCurrentWeek(); ?>)</a>
<table id="current" border="1" rules="row">
<tr></tr>
</table>




</body>
</html>
 
Moin Christina,

könntest du bitte mal das Posten, was du im Browser unter "Quelltext" angezeigt bekommst... ausser dir weiss ja sonst niemand, was dein PHP-Code generiert(was man aber zur Fehlerdiagnose wissen müsste).

Aber generell ist erstmal ein Problem ersichtlich, zumindest für den IE:
Der IE weigert sich(zumindest in einigen Versionen...hab das bei den neueren noch nicht getestet), Tabellenelemente über die innerHTML-Eigenschaft zu Ändern....was du in deinem Skript jedoch tust:
Code:
TR.innerHTML = "<td>Projekt</td><td>Tätigkeit</td><td>Montag</td><td>Dienstag</td><td>Mittwoch</td><td>Donnerstag</td><td>Freitag</td><td>Samstag</td><td>Sonntag</td>";

Stattdessen müsstest du dort eine Zelle nach der anderen in die TR einfügen....vorzugsweise mit insertCell(), denn auch mit der DOM-Methode appendChild() hat der IE in älteren Versionen Probleme bei Tabellenelementen :-)
 

Neue Beiträge

Zurück