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