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
Nodejs mariadb Column count doesn't match value count at row 1?

meine datenbank hat 4 spalten aber ich setze nur 3 ein weil die letzte eine auto_increment spalte ist,

ich nutze nodejs mit mariadb und habe folgende fehlermeldung beim daten einsetzen:

/home/j44/Downloads/themer/tut/node_modules/mariadb/lib/misc/errors.js:64
  return new SqlError(msg, sql, fatal, info, sqlState, errno, additionalStack, addHeader);
         ^

SqlError: (conn=2420, no: 1136, SQLState: 21S01) Column count doesn't match value count at row 1
sql: INSERT INTO thread value (no, head, ts) - parameters:['1171187570193989762','rrrrrrrrrrrrrrrr',1699303276347]
    at module.exports.createError (/home/j44/Downloads/themer/tut/node_modules/mariadb/lib/misc/errors.js:64:10)
    at PacketNodeEncoded.readError (/home/j44/Downloads/themer/tut/node_modules/mariadb/lib/io/packet.js:582:19)
    at Query.readResponsePacket (/home/j44/Downloads/themer/tut/node_modules/mariadb/lib/cmd/parser.js:58:28)
    at PacketInputStream.receivePacketBasic (/home/j44/Downloads/themer/tut/node_modules/mariadb/lib/io/packet-input-stream.js:85:9)
    at PacketInputStream.onData (/home/j44/Downloads/themer/tut/node_modules/mariadb/lib/io/packet-input-stream.js:135:20)
    at Socket.emit (node:events:514:28)
    at addChunk (node:internal/streams/readable:376:12)
    at readableAddChunk (node:internal/streams/readable:349:9)
    at Readable.push (node:internal/streams/readable:286:10)
    at TCP.onStreamRead (node:internal/stream_base_commons:190:23) {
  sqlMessage: "Column count doesn't match value count at row 1",
  sql: "INSERT INTO thread value (no, head, ts) - parameters:['1171187570193989762','rrrrrrrrrrrrrrrr',1699303276347]",
  fatal: false,
  errno: 1136,
  sqlState: '21S01',
  code: 'ER_WRONG_VALUE_COUNT_ON_ROW'
}


SQL, programmieren, JavaScript, Datenbank, MySQL, node.js, Discord, Discord Bot

Meistgelesene Beiträge zum Thema Datenbank