Ngu ngơ học làm web (61) - Bài tập về mảng

Tiếp theo của: Ngu ngơ học làm web (60) - Thao tác trên mảng – phần 2
------

Phần 61. Bài tập về mảng

Đây là clip số 31:


Bài tập này tạo một select box bằng PHP. Cùng làm theo clip, suy nghĩ về sự khác nhau khi tạo select box chỉ dùng HTML và khi tạo select box dùng PHP. Suy nghĩ về lập trình client-side (chỉ dùng HTML) và server-side (có dùng thêm PHP).

Ví dụ, mã HTML của select box:

<div class="content">
                        <select name="group" id="group" style="width: 200px">
                                    <option value="1">Admin</option>
                                    <option value="2">Manager</option>
                                    <option value="3">Member</option>
                                    <option value="4">Guest</option>
                        </select>
            </div>

Vẫn đoạn mã của select box trên, nếu viết bằng PHP sẽ là,

            <div class="content">
            <?php
                        $group = array('1' => 'Admin', '2' => 'Manager', '3' => 'Member', '4' => 'Guest');
                        $xhtml = '';
                  
                        if(!empty($group)) {
                                    $xhtml .= '<select name="group" id="group" style="width: 200px">';
                                    foreach ($group as $key => $value) {
                                                if($key == '3') {
                                                            $xhtml .= '<option value="'.$key.'"selected = "selected">'.$value.'</option>';           
                                                } else {
                                                            $xhtml .= '<option value="'.$key.'">'.$value.'</option>';
                                                }
                                    }
                                    $xhtml .= '</select>';
                        }
                        echo $xhtml;
            ?>                                          
            </div>

Khi dùng PHP để tạo select box bản chất là dùng một biến để chứa mã HTML, sau đó dùng lệnh echo để xuất lại mã HTML này ra trang hiện tại. Vì PHP là ngôn ngữ lập trình nên có thể xuất mã HTML một cách linh hoạt hơn.

Vẫn đoạn mã của select box trên, nếu viết bằng PHP, và viết bằng một hàm để sử dụng lại sẽ là,

<div class="content">
            <?php
                        $group = array('1' => 'Admin', '2' => 'Manager', '3' => 'Member', '4' => 'Guest');
                        $city  = array('ct' => 'Cần Thơ', 'hg' => 'Hậu Giang', 'bt' => 'Bến Tre');
                        function createSelectbox($name, $attributes, $array, $keySelect) {
                                    $xhtml = '';

                                    if(!empty($array)) {
                                                $xhtml .= '<select name="'.$name.'" id="'.$name.'" style="'.$attributes.'">';
                                                foreach ($array as $key => $value) {
                                                            if($key == $keySelect) {
                                                                        $xhtml .= '<option value="'.$key.'"selected = "selected">'.$value.'</option>';        
                                                            } else {
                                                                        $xhtml .= '<option value="'.$key.'">'.$value.'</option>';
                                                            }
                                                }
                                                $xhtml .= '</select>';
                                    }
                                    return $xhtml;
                        }
                        $groupSelect = createSelectbox('group', 'width: 200px', $group, 4);
                        $citySelect = createSelectbox('city', 'width: 300px', $city, 'hg');
                        echo $groupSelect;
                        echo '<br>';
                        echo $citySelect;
            ?>                                          
            </div>

Tới thời điểm này, đã có khả năng đọc và hiểu phần nào đó mã nguồn của ứng dụng openemr. Do ứng dụng openemr được viết theo kiểu thuần PHP, chưa có áp dụng mô hình MVC nên rất khó đọc và khó hiểu mã nguồn. Có thể mở một tập tin mã nguồn để xem cách họ viết bằng PHP như thế nào, ví dụ mở tập tin openemr/interface/forms/newpatient/common.php.


Qua mỗi bài học lại thấy kiến thức của mình được tăng thêm một chút, thấy cứng cáp hơn, tự tin hơn một chút. Con đường vẫn còn dài ở phía trước, cứ từ từ, chầm chậm, học tiếp.
-----------
Cập nhật [9/9/2020]
-----------
Xem thêm:
Tổng hợp các bài viết về Ngu ngơ học làm web