Beiträge von Sempervivum

    var_dump() kann auch ein zweidimensionales Array ausgeben.

    Was in_array betrifft, so hängt die Auswertung davon ab, was Du haben willst. Du hattest ja den Wunsch, dass die $carray der Module für jede Kategorie getrennt gespeichert werden.

    Inzwischen glaube ich, dass ich deine Aussage aus Posting #1 jetzt besser verstehe:

    Zitat

    Es soll jedoch praktisch für jede Kategorie ein individueller Array erstellt werden. Wie ist das möglich? Danke schonmal!

    Lösung: Ein zweidimensionales Array, wie früher schon angeregt:

    Code
    require 'inclusions/action/preview/checkcategory.php';
    if (issset($carray[$categoryname])) $carray[$categoryname][]= $arrayst;
    else $carray[$categoryname] = [$arrayst];

    Schau mal, ob dir das weiter hilft.

    Siehe hier:

    https://wiki.selfhtml.org/wiki/JavaScript/Objekte/Array/map

    Ich hätte erwähnen sollen, dass Du die Überarbeitung am besten vor der Übergabe an die Bibliothek machst, dann ist es übersichtlicher. Würde dann etwa so aussehen:

    Code
    // Test ist dein originales Array
    var test2 = Test.map(function(item) {return item * 200;});

    Dann das neue Array test2 übergeben:

    Nein, so einfach ist es leider nicht. Du musst schon Element-für-Element das Array abarbeiten und den jeweiligen Eintrag mi 200 mulitplizieren. Recht elegant geht das mit der Funktion map().

    Zum Teil verstehe ich es besser, zum Teil bin ich noch am Schwimmen: $arrayst ist, wie der Name sagt, ein Array? Und in dieses Array werden die Werte der einzelnen Module eingetragen? Und dein Problem ist, dass die alten Werte darin stehen bleiben? Dann versuche dies:

    Code
    $arrayst = [];
    require 'inclusions/action/preview/checkcategory.php';
                                $carray[] = $arrayst;

    Wenn Du dem Array $carray ein Array $arrayst hinzu fügst, wird das Ganze zweidimensional.

    Mal sehen, ob ich das richtig verstehe: Zu jeder Kategorie kann es mehrere Module geben. Ist mindestens ein Modul einer Kategorie online, gilt die ganze Kategorie als online. Und jetzt willst Du, wie in dem früheren Thread, ermitteln, ob alle Kategorien online sind.

    Wenn das zutrifft, sollte es zum Ziel führen, wenn Du das Array zweidimensional anlegst, 1. Dimension die Kategorien, 2. Dimension die Module.

    Bis hierher bin ich von deiner verbalen Beschreibung ausgegangen, aber wenn ich in deinen Code sehe, finde ich keine Module? Ist das so aufgebaut, dass es mehrere Einträge mit dem selben Kategorienamen gibt und dass diese dann die Module sind? *gübel*

    PS: Ich vergaß ganz das CSS, das muss natürlich auch auf Klassen umgestellt werden:

    Code
            .myImg {
                border-radius: 5px;
                cursor: pointer;
                transition: 0.3s;
            }
    
            .myImg:hover {
                opacity: 0.7;
            }

    Das erfordert nur ein paar kleine Änderungen:

    Im HTML die IDs durch Klassen ersetzen:

    Code
    <img class="myImg" src="../Bilder/2.jpg" alt="Snow" style="width:100%;max-width:300px">
    <img class="myImg" src="../Bilder/3.jpg" alt="Snow" style="width:100%;max-width:300px">
    <img class="myImg" src="../Bilder/4.jpg" alt="Snow" style="width:100%;max-width:300px">
    <img class="myImg" src="../Bilder/6.jpg" alt="Snow" style="width:100%;max-width:300px">

    Und im Javascript eine Schleife über die Bilder:

    Ich verstehe es so, dass der TO das Skript für mehrere Bilder verwenden will, was wegen der Verwendung einer ID so, wie es ist, nicht möglich ist (var img = document.getElementById("myImg");).

    *smile* trickreich, aber ich würde es leicht lesbar vorziehen:

    Code
    $statement = $conn->prepare("SELECT * FROM `{$project}` WHERE entrytype = ?");
    $statement->execute(array('module'));
    $status = "online";
    while ($row = $statement->fetch()) {
        // Hier prüfe ich einen Status und lasse ihn ausgeben
        if (offline) {
            $status = "offline";
        }
    }