0Pricing
PHP Academy · บทเรียน

HTML แบบไดนามิกด้วยลูป PHP

สร้างตารางและรายการ HTML จากอาร์เรย์ PHP ภายในเทมเพลต

HTML แบบไดนามิกด้วยลูป PHP เป็นบทเรียน PHP Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน PHP Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

การสร้าง HTML ด้วย PHP

หนึ่งในการใช้งาน PHP ที่ทรงพลังที่สุดคือการสร้าง HTML แบบไดนามิกจากอาร์เรย์ข้อมูล เช่น รายการ ตาราง เมนูแบบเลื่อนลง เมนูนำทาง และอื่น ๆ

การสร้างรายการ

เรนเดอร์รายการ HTML แบบไม่มีลำดับจากอาร์เรย์ PHP:

<?php
$fruits = ['Apple', 'Banana', 'Cherry', 'Durian'];
?>

<ul>
<?php foreach ($fruits as $fruit): ?>
    <li><?= htmlspecialchars($fruit) ?></li>
<?php endforeach; ?>
</ul>

การสร้างตาราง HTML

สร้างตารางแบบไดนามิกจากอาร์เรย์สองมิติ:

<?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>

การสร้างเมนูแบบเลือก

สร้างองค์ประกอบ select ของ HTML จากอาร์เรย์:

<?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>

การสลับสีแถวแบบม้าลาย

ใช้รูปแบบแถวสลับกันเพื่อให้อ่านได้ง่ายขึ้น:

<?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>

คลาส CSS แบบมีเงื่อนไข

ใช้คลาส CSS ตามเงื่อนไขของข้อมูล:

<?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>

ลิงก์แบ่งหน้า

สร้างส่วนติดต่อผู้ใช้สำหรับการแบ่งหน้าจากลูป for:

<?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>

ลูปซ้อนสำหรับ HTML แบบซ้อน

สร้างโครงสร้าง HTML แบบซ้อนด้วยลูปซ้อน:

<?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>

การจัดการสถานะว่าง

จัดการกรณีอาร์เรย์ว่างในแม่แบบเสมอ:

<?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; ?>

การสร้างแอตทริบิวต์ข้อมูล

ส่งข้อมูลไปยัง JavaScript ผ่านแอตทริบิวต์ข้อมูลของ HTML:

<?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 และ JSON สำหรับ JavaScript

ส่งอาร์เรย์ PHP ไปยัง JavaScript อย่างปลอดภัยด้วย json_encode:

<?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>

ตรวจสอบความเข้าใจ

เมื่อต้องส่งออกสตริงที่ผู้ใช้ควบคุมภายใน HTML เพื่อป้องกัน XSS ต้องใช้ฟังก์ชันใด

ทบทวน: HTML แบบไดนามิกด้วยลูป

เทคนิคสำคัญ:

  • ใช้ไวยากรณ์ foreach/for แบบทางเลือกที่มีเครื่องหมายโคลอนในแม่แบบ
  • หลีกเลี่ยงอักขระของผลลัพธ์เสมอด้วย htmlspecialchars()
  • ใช้คลาส CSS แบบมีเงื่อนไขด้วยตัวดำเนินการสามส่วนในแอตทริบิวต์
  • จัดการอาร์เรย์ว่างด้วย if/else ที่ครอบลูป
  • ส่งข้อมูล PHP ไปยัง JavaScript ผ่าน json_encode()

คำถามที่พบบ่อย

บทเรียน “HTML แบบไดนามิกด้วยลูป PHP” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “HTML แบบไดนามิกด้วยลูป PHP” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส PHP Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส PHP Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “HTML แบบไดนามิกด้วยลูป PHP”

สร้างตารางและรายการ HTML จากอาร์เรย์ PHP ภายในเทมเพลต คุณปฏิบัติ PHP Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน PHP Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน PHP Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 2 จากทั้งหมด 4 บทเรียน

บทเรียน “HTML แบบไดนามิกด้วยลูป PHP” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน PHP Academy นี้ได้ไหม

ได้ บทเรียน PHP Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. แท็ก PHP และไวยากรณ์การฝังโค้ด
  2. HTML แบบไดนามิกด้วยลูป PHP
  3. การรวมและเรียกใช้ไฟล์
  4. รูปแบบเทมเพลต: แยกตรรกะออกจากมุมมอง
← กลับไปที่ PHP Academy