Formular mit Javascript bearbeiten?

Hallo, ich habe ein formular mit einem select und méchte je nach auswahl des benutzers die nächsten zwei Formulareingaben entweder einblenden oder ausblenden. Geht da mit Javascript?

Hier das Formular:

 <form class="form" method="POST" action="./?route=admin/module/create" enctype="multipart/form-data">
    <input type="hidden" name="csrf_token" value="<?php echo csrf_token(); ?>" />
    <input type="hidden" name="parent" value="<?php echo $parent["parent"]; ?>" />
    
    <label for="modules-create-title">Titel:</label><br />
    <input type="text" name="title" id="modules-create-title" value="<?php if(!empty($_POST['title'])) echo e($_POST['title']); ?>" /><br /><br />


    <label>Art des Moduls <br>
        <select name="module" size="1">
            <option value="slideshow">Slideshow</option>
            <option value="image_left_prev">About Vorschau mit Bild</option>
            <option value="reviews">Kundenmeinungen</option>
            <option value="contact_form">Kontaktformular</option>
            <option value="productcards">Angebote</option>
            <option value="content">Textfeld mit Titel</option>
            <option value="landingpage">Landingpage</option>
            <option value="content_right">Textfeld rechts mit Bild</option>
            <option value="content_left">Textfeld links mit Bild</option>
        </select>
    </label><br /><br />


    <label for="modules-create-picture">Hintergrundbild:
        <input name="image" type="file" id="modules-create-picture" size="50" accept="text/*"> 
    </label> <br /><br />


    <label for="editor">Text</label><br />
    <textarea id="editor" name="content" cols="35" rows="20"></textarea> <br /><br />



    <input type="submit" value="Speichern" />
</form>
Webseite, JavaScript, Code, PHP, Webentwicklung
Frage zu Array in ein Model schreiben?

Ich möchte gerne ein array

array(1) { [0]=> object(App\Content\ContentModel)#24 (17) { ["id"]=> int(1) ["title"]=> string(7) "Healing" ["sub_title"]=> string(0) "" ["content"]=> string(0) "" ["sub_content"]=> string(0) "" ["offer1_time"]=> string(0) "" ["offer1_price"]=> string(0) "" ["offer2_time"]=> string(0) "" ["offer2_price"]=> string(0) "" ["offer_extension_time"]=> string(0) "" ["offer_extension_price"]=> string(0) "" ["image"]=> string(35) "pexels-arina-krasnikova-6997996.jpg" ["parent"]=> int(1) ["sequence"]=> int(1) ["link"]=> string(2) "15" ["button_text"]=> string(11) "Zum Angebot" ["module"]=> string(0) "" } }

das ich aus der Datenbank erhalte über ein repository in ein model speichern damit ich mehrere datensätze zu einem Modul hinzufügen kann, nun wirft es mir aber eine fehlermeldung an und ich komm einfach nicht weiter.

Hier das repository:

    public function fetchModulesForPage(int $pageId): array
    {
        $stmt = $this->pdo->prepare('SELECT modules.* FROM modules JOIN pages ON modules.parent = pages.id WHERE pages.id = :pageId');
        $stmt->bindValue(':pageId', $pageId);
        $stmt->fetchAll(PDO::FETCH_CLASS, ModulesModel::class);
        $stmt->execute();
        $modules = $stmt->fetch();



        $contentRepository = new ContentRepository($this->pdo);


        foreach ($modules as $module) {


        $moduleContent = $contentRepository->fetchContentForModule($module);
        $module->setContent($moduleContent);
        }
            return $modules;
        }

und hier das Model:

<?php


namespace App\Modules;


class ModulesModel
{


    public int $id;
    public string $title;
    public int $parent;
    public string $module;
    public int $sequence;
    public array $content = [];


    public function setContent(array $content): void
    {
        $this->content = $content;
    }
}

die fehlermeldung ist:

Fatal error: Uncaught Error: Call to a member function setContent() on int in C:\xampp\htdocs\test\src\Modules\ModulesRepository.php:29 Stack trace: #0 C:\xampp\htdocs\test\src\Controller\PagesController.php(61): App\Modules\ModulesRepository->fetchModulesForPage(6) #1 C:\xampp\htdocs\test\index.php(73): App\Controller\PagesController->getAllContentFromModules(6) #2 {main} thrown in C:\xampp\htdocs\test\src\Modules\ModulesRepository.php on line 29

die line 29 ist folgende:

$module->setContent($moduleContent);
Array, Code, MySQL, PHP, Programmiersprache
Verschachtelte sql abfrage bzw. sortierung?

So, ich habe ein Problem.

Gerne möchte ich daten als liste aus einer datenbank laden. diese daten sollen seiten anzeigen als tabelle, diese seiten haben aber teilweise untergeordnete seiten die in der datenbank unter 'parent' die 'id' des elternelementes und diese wiederum können auch untergeordnete seiten haben.

wie gestalte ich die datenbankabfrage wenn ich die seiten anzeigen will in einer tabelle in der erst die "Höchste" nach dem 'sort' wert absteigend und zwischen diesem sort und dem nächsten "höchsten" datensatz dazwischen die unterseiten erscheinen?

hier ein bild der Tabelle:

anhin ein codeschnipsel der tabelle die ich schon habe:

<?php if (!empty($pages)): ?>
    <table>
        <thead>
            <tr>
                <th>ID</th>
                <th>Link</th>
                <th>Titel</th>
                <th>Navigationselement</th>
                <th>Aktionen</th>
            </tr>
        </thead>
        <tbody>
            <?php foreach($pages AS $page): ?>
                <tr>
                    <td><?php echo e($page->id); ?></td>
                    <td><?php echo e($page->slug); ?></td>
                    <td><?php echo e($page->title); ?></td>
                    <td><?php echo e($page->nav); ?></td> 
                    <td>
                        <form method="POST" action="./?route=admin/page/delete">
                            <input type="hidden" name="csrf_token" value="<?php echo csrf_token(); ?>" />
                            <input type="hidden" name="id" value="<?php echo e($page->id); ?>" />
                            <input type="submit" value="Löschen" class="button-as-link" />
                        </form>
                        <a href="./?route=admin/page/edit&id=<?php echo e($page->id); ?>">Editieren</a>
                    </td>
                </tr>
            <?php endforeach; ?>
        </tbody>
    </table>
<?php else: ?>
    <p>Es wurden noch keine Seiten angelegt.</p>
<?php endif; ?>
Bild zum Beitrag
SQL, Datenbank, MySQL, PHP
Weitere Inhalte können nur Nutzer sehen, die bei uns eingeloggt sind.