Artikelsortierung in HTML Dokument


Sempervivum

Erfahrenes Mitglied
Ich habe da etwas ausgearbeitet:

Javascript (ersetzt das bisherige):
Code:
        var sel = document.getElementById("selectnat");
        var start = 0, number = 10, more;
        function darsteller_holen() {
            var nat = sel.options[sel.selectedIndex].value;
            if (nat == "alle") {
                $("#figures-alfa").css("display", "block");
                $("#figures-nat").css("display", "none");
            } else {
                $.ajax("darsteller-finden-3.php", {
                    data: { nat: nat, start: start, number: number },
                    method: "get",
                    success: function (data) {
                        $("#figures-nat").html($("#figures-nat").html() + data);
                        if ($("#figures-nat span#complete").length > 0)
                            $("#figures-nat #more").remove();
                        else
                            $("#figures-nat").append($("#figures-nat span#more").on("click", darsteller_holen));
                    }
                });
            }
            start += number;
        }
        sel.addEventListener("change", function () {
            start = 0;
            $("#figures-nat").html("");
            more = $('<span id="more">Mehr ... </span>');
            $("#figures-nat").append(more);
            $("#figures-alfa").css("display", "none");
            $("#figures-nat").css("display", "block");
            darsteller_holen();
        });
darsteller-finden-3.php:
Code:
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>
<?php
$seiten = ["darsteller-to1.html", "darsteller-to2.html"];
$search = 'figure ' . $_GET['nat'];
$start = $_GET['start'];
$number = $_GET['number'];
$allnodes = [];
foreach ($seiten as $seite) {
    $dom = new DOMdocument();
    $result = $dom->loadHTMLFile($seite, LIBXML_NOWARNING);
    $xpath = new DOMXpath($dom);
    $par = '*/div/div[contains(@class, "' . $search . '")]';
    $nodes = $xpath->query($par);
    foreach ($nodes as $node) {
        $allnodes[] = $node;
    }
}
for ($i = 0, $j = $start; $i < $number && $j < count($allnodes); $i++, $j++) {
    echo $allnodes[$j]->ownerDocument->saveHTML($allnodes[$j]);
}
if ($j >= count($allnodes)) echo '<span id="complete"></span>';
?>
HTML sollte so bleiben können, wie es ist.
In diesem Fall musst Du das Array im PHP anpassen.
 

mikemichel

Mitglied
Verstehe ich gerade nicht. Muss ich den oberen Code gerade mit dem erstezen ?
Code:
[QUOTE="Sempervivum, post: 2103847, member: 274250"]Ja, so macht es Sinn. Ist eine Kleinigkeit:
[code]        var pages = [
            "darsteller-to1.html", "darsteller-to2.html"
        ];
        var alledarsteller = $("#figures-nat").css("display", "none");
        pages.forEach(function (item, idx) {
            $.ajax(item, {
                success: function (data) {
                    var darsteller = $("<div>" + data + "</div>").find(".figure").css("display", "none");
                    alledarsteller.append(darsteller);
                }
            });
        });
        var sel = document.getElementById("selectnat");
        sel.addEventListener("change", function () {
            var nat = sel.options[sel.selectedIndex].value;
            $(".figure").css("display", "none");
            if (nat == "alle") {
                $("#figures-alfa .figure").css("display", "block");
            } else {
                $("#figures-nat .figure." + nat).css("display", "block");
                alledarsteller.css("display", "block")
            }
        });
[/QUOTE]

[/code]

Und dann eine php Datei mit dem Namen: darsteller-finden3.php auf den Srver hochladen?
 

Sempervivum

Erfahrenes Mitglied
Wie ich schon geschrieben habe, ersetzt das neue Javascript das alte. Hier noch mal mit dem Umfeld, damit Du weißt, wo es hin gehört, d. h. an das Ende des Body:
Code:
    <div align="center" style="width:950px;margin:0 auto; clear:left">
        <img src="./darsteller-to1_files/banner_gross.jpg" alt="DVDuncuts.com" width="950" height="25">
        <div align="left" style="float:left;">
            <p>
                <img src="./darsteller-to1_files/dhl-logo.gif" alt="Lieferung mit DHL" title="Lieferung mit DHL" width="71" height="24">
                <img src="./darsteller-to1_files/deutsche-post-logo.gif" alt="Lieferung mit der Deutschen Post" title="Lieferung mit der Deutschen Post"
                    width="90" height="24">
                <img src="./darsteller-to1_files/packstation-logo.gif" alt="Lieferung an Packstationen" title="Lieferung an Packstationen"
                    width="121" height="24">
                <a rel="nofollow" href="http://www.payforyourporn.org/" target="_blank">
                    <img src="./darsteller-to1_files/payforyouporn-banner.gif" alt="#Pay for your Porn" title="#Pay for your Porn - bezahle für deine Pornos!"
                        width="274" height="24">
                </a>
            </p>
        </div>
        <div align="right" style="float:right;">
            <p>
                <a href="http://feeds.feedburner.com/dvduncuts/TUzl" target="_blank">
                    <img src="./darsteller-to1_files/feed.gif" alt="DVDuncuts.com - Feed abonieren" width="24" height="24">
                </a>
                <a rel="nofollow" href="http://twitter.com/dvduncutscom" target="_blank">
                    <img src="./darsteller-to1_files/twitter.gif" alt="DVDuncuts.com auf Twitter" width="24" height="24">
                </a>
                <a href="https://www.facebook.com/DVDuncutscom-314898495603446/" target="_blank">
                    <img src="./darsteller-to1_files/facebook.gif" alt="DVDuncuts.com auf Facebook" width="24" height="24">
                </a>
                <a href="https://plus.google.com/111578826504656175343" target="_blank">
                    <img src="./darsteller-to1_files/googleplus.gif" alt="DVDuncuts.com auf Google+" width="50" height="24"> </a>
            </p>
        </div>
    </div>
    <script type="text/javascript" src="https://code.jquery.com/jquery-3.2.1.min.js"></script>
    <script>
        var sel = document.getElementById("selectnat");
        var start = 0, number = 10, more;
        function darsteller_holen() {
            var nat = sel.options[sel.selectedIndex].value;
            if (nat == "alle") {
                $("#figures-alfa").css("display", "block");
                $("#figures-nat").css("display", "none");
            } else {
                $.ajax("darsteller-finden-3.php", {
                    data: { nat: nat, start: start, number: number },
                    method: "get",
                    success: function (data) {
                        $("#figures-nat").html($("#figures-nat").html() + data);
                        if ($("#figures-nat span#complete").length > 0)
                            $("#figures-nat #more").remove();
                        else
                            $("#figures-nat").append($("#figures-nat span#more").on("click", darsteller_holen));
                    }
                });
            }
            start += number;
        }
        sel.addEventListener("change", function () {
            start = 0;
            $("#figures-nat").html("");
            more = $('<span id="more">Mehr ... </span>');
            $("#figures-nat").append(more);
            $("#figures-alfa").css("display", "none");
            $("#figures-nat").css("display", "block");
            darsteller_holen();
        }); 
    </script>

</body>

</html>
Und dann eine php Datei mit dem Namen: darsteller-finden3.php auf den Srver hochladen?
Genau, den PHP-Code in diese Datei schreiben.
 

EugenioChartres

Grünschnabel
Super es funktioniert. Jetzt noch eins. Vielleicht ist es besser wenn der Javascript Code nicht auf der html Seite eingebaut ist, sondern extern in eine Datei. Wie muss ich das dann machen?
 

Neue Beiträge