Dynamisches HTML mit PHP-Schleifen
Erzeugen Sie in Templates aus PHP-Arrays dynamische HTML-Tabellen und -Listen.
Dynamisches HTML mit PHP-Schleifen ist eine kostenlose PHP Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des PHP Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
HTML mit PHP dynamisch generieren
Eine der leistungsfähigsten Anwendungen von PHP ist die dynamische Generierung von HTML aus Daten-Arrays – etwa Listen, Tabellen, Dropdowns, Navigationsmenüs und mehr.
Eine Liste generieren
Rendern Sie eine ungeordnete HTML-Liste aus einem PHP-Array:
<?php
$fruits = ['Apple', 'Banana', 'Cherry', 'Durian'];
?>
<ul>
<?php foreach ($fruits as $fruit): ?>
<li><?= htmlspecialchars($fruit) ?></li>
<?php endforeach; ?>
</ul>Eine HTML-Tabelle generieren
Erstellen Sie eine dynamische Tabelle aus einem zweidimensionalen Array:
<?php
$users = [
['Alice', 'alice@test.com', 'Admin'],
['Bob', 'bob@test.com', 'User'],
];
?>
<table>
<thead><tr><th>Name</th><th>Email</th><th>Role</th></tr></thead>
<tbody>
<?php foreach ($users as [$name, $email, $role]): ?>
<tr>
<td><?= htmlspecialchars($name) ?></td>
<td><?= htmlspecialchars($email) ?></td>
<td><?= htmlspecialchars($role) ?></td>
</tr>
<?php endforeach; ?>
</tbody>
</table>Ein Select-Dropdown generieren
Erstellen Sie ein HTML-Select-Element aus einem Array:
<?php
$countries = ['TR' => 'Turkey', 'US' => 'United States', 'DE' => 'Germany'];
$selected = 'TR';
?>
<select name="country">
<?php foreach ($countries as $code => $name): ?>
<option value="<?= htmlspecialchars($code) ?>"
<?= $code === $selected ? 'selected' : '' ?>>
<?= htmlspecialchars($name) ?>
</option>
<?php endforeach; ?>
</select>Zeilen abwechselnd einfärben
Wenden Sie abwechselnde Zeilenstile an, um die Lesbarkeit zu verbessern:
<?php
$rows = range(1, 8);
?>
<table>
<?php foreach ($rows as $i => $row): ?>
<tr class="<?= $i % 2 === 0 ? 'even' : 'odd' ?>">
<td>Row <?= $row ?></td>
</tr>
<?php endforeach; ?>
</table>Bedingte CSS-Klassen
Wenden Sie CSS-Klassen abhängig von Datenbedingungen an:
<?php
$tasks = [
['title' => 'Write tests', 'done' => true],
['title' => 'Deploy app', 'done' => false],
];
?>
<ul class="task-list">
<?php foreach ($tasks as $task): ?>
<li class="task <?= $task['done'] ? 'done' : 'pending' ?>">
<?= htmlspecialchars($task['title']) ?>
</li>
<?php endforeach; ?>
</ul>Paginierungslinks
Generieren Sie die Paginierungsoberfläche mit einer for-Schleife:
<?php
$totalPages = 10;
$currentPage = 3;
?>
<nav class="pagination">
<?php for ($p = 1; $p <= $totalPages; $p++): ?>
<a href="?page=<?= $p ?>"
class="<?= $p === $currentPage ? 'active' : '' ?>">
<?= $p ?>
</a>
<?php endfor; ?>
</nav>Verschachtelte Schleifen für verschachteltes HTML
Generieren Sie verschachtelte HTML-Strukturen mit verschachtelten Schleifen:
<?php
$menu = [
['Home', '/', []],
['Products', '/products', ['Widgets', 'Gadgets']],
['About', '/about', []],
];
?>
<ul>
<?php foreach ($menu as [$label, $href, $sub]): ?>
<li><a href="<?= $href ?>"><?= htmlspecialchars($label) ?></a>
<?php if ($sub): ?>
<ul>
<?php foreach ($sub as $child): ?>
<li><?= htmlspecialchars($child) ?></li>
<?php endforeach; ?>
</ul>
<?php endif; ?>
</li>
<?php endforeach; ?>
</ul>Umgang mit leeren Zuständen
Behandeln Sie in Templates immer den Fall eines leeren Arrays:
<?php
$posts = [];
?>
<?php if (!empty($posts)): ?>
<ul>
<?php foreach ($posts as $post): ?>
<li><?= htmlspecialchars($post['title']) ?></li>
<?php endforeach; ?>
</ul>
<?php else: ?>
<p class="empty-state">No posts found. <a href="/new">Create one!</a></p>
<?php endif; ?>Datenattribute generieren
Übergeben Sie Daten über HTML-Datenattribute an JavaScript:
<?php
$products = [
['id' => 1, 'name' => 'Widget', 'price' => 9.99],
['id' => 2, 'name' => 'Gadget', 'price' => 24.99],
];
?>
<div class="product-grid">
<?php foreach ($products as $p): ?>
<div class="product-card"
data-id="<?= $p['id'] ?>"
data-price="<?= $p['price'] ?>">
<?= htmlspecialchars($p['name']) ?>
</div>
<?php endforeach; ?>
</div>PHP und JSON für JavaScript
Übergeben Sie PHP-Arrays sicher mit json_encode an JavaScript:
<?php
$config = [
'apiUrl' => '/api/v1',
'userId' => $user['id'] ?? 0,
'locale' => 'en-US',
];
?>
<script>
const APP_CONFIG = <?= json_encode($config, JSON_HEX_TAG | JSON_HEX_APOS) ?>;
console.log(APP_CONFIG.apiUrl);
</script>Schnelltest
Welche Funktion müssen Sie verwenden, wenn Sie nutzergesteuerte Zeichenketten innerhalb von HTML ausgeben, um XSS zu verhindern?
Zusammenfassung: Dynamisches HTML mit Schleifen
Wichtige Techniken:
- Verwenden Sie in Templates die alternative foreach-/for-Syntax mit Doppelpunkt
- Escapen Sie Ausgaben immer mit
htmlspecialchars() - Verwenden Sie ternäre Operatoren in Attributen für bedingte CSS-Klassen
- Behandeln Sie leere Arrays mit if/else um Schleifen herum
- Übergeben Sie PHP-Daten mit
json_encode()an JavaScript
Häufig gestellte Fragen
Ist die Lektion „Dynamisches HTML mit PHP-Schleifen“ kostenlos?
Ja — der vollständige Text von „Dynamisches HTML mit PHP-Schleifen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des PHP Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der PHP Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Dynamisches HTML mit PHP-Schleifen“?
Erzeugen Sie in Templates aus PHP-Arrays dynamische HTML-Tabellen und -Listen. Du übst PHP Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um PHP Academy zu starten?
Keine Vorkenntnisse erforderlich. PHP Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Dynamisches HTML mit PHP-Schleifen“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser PHP Academy-Lektion Code schreiben und ausführen?
Ja. Jede PHP Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- PHP-Tags und Syntax zum Einbetten
- Dynamisches HTML mit PHP-Schleifen
- Dateien einbinden und anfordern
- Template-Muster: Logik und Darstellung trennen