Hervorhebung einer Tabellenzeile in JavaScript

  • Also wenn du Zeit und Lust hast kannst du das PHP Script mal schreiben. Ich versuche dann auch ein bisschen PHP und Ajax zu lernen, um den Code ein bisschen zu verstehen, trotzdem wäre es gut,


    wenn du mir erklärst, wie ich das ganze auf jeder Seite einbinde und die Dateien benenne und so und wo die auf den Server kommen. Testen kann man PHP ohne es hochzuladen über Localhost oder?


    Wenn ja wie?


    Über eine Erwähnung würde ich mich natürlich freuen, muss aber nicht sein.

    Klar werde ich dich erwähnen.


    Ich kann dir auch dann die URL per PN schicken, wenn ich das Ganze hochlade, damit du dir die ganze Website ansehen kannst.

  • Ich habe gerade den Code nochmal durchgetestet und mir ist bei folgenden Terminen aufgefallen, dass der 10:00 Uhr Termin eingerahmt ist, obwohl der garnicht mehr aktuell ist nur nochmal am Rande:


    <td id="Datum1">12.02.2017</td>


    <td id="Datum2">12.02.2017</td>


    <td id="Datum3">12.02.2017</td>


    <td id ="Datum4">12.02.2017</td>


    <td id="Datum5">05.01.2017</td>

  • Oder wird das Zeitformat nicht richtig erkannt, und das Programm denkt es soll 10:00 Uhr Abends sein? Ach ja ich hab die Uhrzeiten vergessen:


    <td>10:00</td>
    <td>11:45</td>
    <td>12:00</td>
    <td>12:15</td>
    <td>12:15</td>

  • Ich habe es nochmal probiert es geht eigentlich alles muss man nix mehr dran ändern, außer halt das PHP Script noch.

  • Das ist relativ einfach, wenn man weiß, wie es geht.


    Zunächst das Javascript, am Ende des bisherigen Codes einfügen:



    var params = {
    sThema: rows[rowIdx].cells[0].innerHTML,
    sDatum: rows[rowIdx].cells[1].innerHTML,
    sUhrzeit: rows[rowIdx].cells[2].innerHTML,
    sOrt: rows[rowIdx].cells[3].innerHTML
    };
    $.post("sidebar-schreiben.php", params, function (data) {
    var s = data;
    });


    Dann das PHP, dieses musst Du in eine Datei sidebar-schreiben.php einfügen:



    <?php
    $thehtml = ' <div id="sidebar">
    <h4>Neue Termine:</h4>
    <table id="sidebartabelle">
    <tr>
    <td id="sThema">' . $_POST['sThema'] . '</td>
    </tr>
    <tr class="zweitezeile">
    <td id="sDatum">' . $_POST['sDatum'] . '</td>
    </tr>
    <tr>
    <td id="sUhrzeit">' . $_POST['sUhrzeit'] . '</td>
    </tr>
    <tr class="zweitezeile">
    <td id="sOrt">' . $_POST['sOrt'] . '</td>
    </tr>
    </table>
    </div>';
    file_put_contents("sidebar.html", $thehtml);
    echo $thehtml;
    ?>


    Dann wird eine Datei sidebar.html angelegt. Damit es funktioniert, muss PHP verfügbar sein. Wenn Du es lokal testen willst, musst Du einen Server mit PHP auf deinem Computer installieren. XAMPP ist ein verbreitetes Paket. Auf jeden Fall zu empfehlen, wenn Du PHP lernen willst.


    Die Datei sidebar.html kannst Du dann in deine anderen Seiten mit PHP-Include einbinden:
    <?php include('sidebar.html'); ?>



    Viel Erfolg!

  • Gibt es da irgendwelche Risiken mit XAMPP, ist das dann irgendwo online oder ist das rein lokal? trau mich da nicht so ran :)

    Die Datei sidebar.html kannst Du dann in deine anderen Seiten mit PHP-Include einbinden:

    Aber kann ich das überhaupt in die HTML Dateien einbinden oder muss ich die umbenennen in PHP?

  • Ich benutze XAMPP zwar nicht, aber ich weiß, dass es von sehr vielen benutzt wird und ich glaube nicht, dass es Risiken birgt.


    Du hast Recht, das hatte ich vergessen zu erwähnen: Wenn Du PHP verwendest, muss die Datei auf die Endung "php" haben, sonst wird der Code nicht geparst.

  • Zitat

    Und Dw gibt beim JavaScript die Fehlermeldung bei var s = data; ('s' is defined but never used) aus


    Das kannst Du ignorieren. Wie die Fehlermeldung sagt, ist es lediglich eine Warnung, weil die Variable s definiert aber nie benutzt wird. Ich habe das nur zu Testzwecken eingefügt, Du kannst den Callback auch weg lassen:



    $.post("sidebar-schreiben.php", params);

  • Ich würde am liebsten die Tabelle noch responsive machen. Ich habe mir das so vorgestellt, dass über Media Queries alles ausgeblendet wird außer die Spalte "Thema" und dann bei einem Klick auf das


    jeweilige Thema die anderen Informationen wie bei einem Dropdownmenü nach unten aufklappen oder so. Wie könnte ich das am besten Umsetzen?

  • Und ich hätte noch die Frage zum PHP mach ich dann einfach in der Sidebar das Include ohne was anderes rein oder muss die Tabelle da bleiben oder wie ist das? Wie wird das angezeigt dann?