ฟังก์ชั่นสร้าง select tag เชื่อมต่อฐานข้อมูล รองรับการแก้ไข อย่างง่าย

เขียนเมื่อ 9 ปีก่อน โดย Ninenik Narkdee
php ฟังก์ชั่น select option

คำสั่ง การ กำหนด รูปแบบ ตัวอย่าง เทคนิค ลูกเล่น การประยุกต์ การใช้งาน เกี่ยวกับ php ฟังก์ชั่น select option

ดูแล้ว 9,502 ครั้ง


ตัวอย่างฟังก์ชั่นต่อไปนี้ ใช้รูปแบบการเชื่อมต่อฐานข้อมูลด้วย mysqli
เป็นการฟังก์ชั่นสำหรับสร้าง select tag ที่สามารถดึงข้อมูลมาแสดง
ในรายการ option รองรับกรณีการแก้ไข 
หากต้องการใช้งานกับ mysql สามารถนำไปดัดแปลงเพิ่มเติมได้
หรือสามารถประยุกต์กรณีอื่นๆ ได้ตามต้องการ
 
ต่อไปตัวอยางกรณีการใช้งานกับฐานข้อมูล 
เราจะใช้วิธีการเชื่อมต่อแบบ mysqli แทน mysql ธรรมดา 
เพื่อรองรับในอนาคต
 
ดาวน์โหลดไฟล์ พร้อมใช้ ชื่อ db_connect.php ได้ที่
 
ตัวอย่าง
 





 
ฟังก์ชั่น
 
<?php
function SelectInput(
    $sql=null,$se_Name="select1",$se_Id=null,$se_Class=null,$se_Style=null,
    $se_text="",$se_Select=null,$filed_option=null,$field_value=null
){
global $mysqli;
$se_Id=($se_Id==null)?$se_Name:$se_Id;
$se_text=($se_text==null)?"กรุณาเลือกรายการ":$se_text;
$tagChoose='<option value="">'.$se_text.'</option>';  
$tagOption=null;    
    if($sql!=null){
        $rs=$mysqli->query($sql);
        $total=$rs->num_rows;
        while($data=$rs->fetch_assoc()){
            $tagSelected=null;  
            $filed_optionText=$data[$filed_option];
            $field_valueText=($field_value==null)?$filed_optionText:$data[$field_value];
            if($se_Select!=null && $field_valueText==$se_Select){
                $tagSelected=" selected";   
            }
            $tagOption.='<option value="'.$field_valueText.'"
            '.$tagSelected.'>'.$filed_optionText.'</option>';
        }
    }
$tagSelect = <<<TAG
<select name="$se_Name" id="$se_Id" class="$se_Class" style="$se_Style" >
$tagChoose
$tagOption
</select> 
TAG;
// บรรทัดด้านบนนี้ที่ (TAG;) นี้ต้องชิดซ้ายสุด ห้ามมีช่องว่างทั้งหน้าและหลัง
echo $tagSelect;
}
?>
 
การใช้งาน parameter
 
SelectInput(
"คำสั่ง sql",
"ชื่อ select",
"id ถ้ามี",
"class ถ้ามี",
"style อื่นๆ ถ้ามี",
"ข้อความแจ้งให้เลือก ถ้ามี",
"ค่ารายการที่ถูกเลือก กรณีใช้แก้ไข",
"ข้อความของ option",
"ค่าของ option"
}
 
โค้ดและตัวอย่างทั้งหมด

<?php
include("db_connect.php"); // เรียกใช้ไฟล์ ตั้งค่า และฟังก์ชั่น เกี่ยวกับฐานข้อมูล  
$mysqli = connect(); // สร้าง ตัวแปร mysqli instance สำหรับเรียกใช้งานฐานข้อมูล  
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css">   
</head>
<body>
 <br>
 <br>
 <br>
<?php
function SelectInput(
    $sql=null,$se_Name="select1",$se_Id=null,$se_Class=null,$se_Style=null,
    $se_text="",$se_Select=null,$filed_option=null,$field_value=null
){
global $mysqli;
$se_Id=($se_Id==null)?$se_Name:$se_Id;
$se_text=($se_text==null)?"กรุณาเลือกรายการ":$se_text;
$tagChoose='<option value="">'.$se_text.'</option>';  
$tagOption=null;    
    if($sql!=null){
        $rs=$mysqli->query($sql);
        $total=$rs->num_rows;
        while($data=$rs->fetch_assoc()){
            $tagSelected=null;  
            $filed_optionText=$data[$filed_option];
            $field_valueText=($field_value==null)?$filed_optionText:$data[$field_value];
            if($se_Select!=null && $field_valueText==$se_Select){
                $tagSelected=" selected";   
            }
            $tagOption.='<option value="'.$field_valueText.'"
            '.$tagSelected.'>'.$filed_optionText.'</option>';
        }
    }
$tagSelect = <<<TAG
<select name="$se_Name" id="$se_Id" class="$se_Class" style="$se_Style" >
$tagChoose
$tagOption
</select> 
TAG;
// บรรทัดด้านบนนี้ที่ (TAG;) นี้ต้องชิดซ้ายสุด ห้ามมีช่องว่างทั้งหน้าและหลัง
echo $tagSelect;
}
?>
<div style="margin:auto;width:80%;">
<?php 
SelectInput("
SELECT * FROM tbl_sale ORDER BY sale_date
",
"product_name",null,null,null,
"เลือกรายการสินค้า",null,"sale_product","sale_product"
);
?>
<br><br>
<?php 
SelectInput("
SELECT * FROM tbl_sale ORDER BY sale_date
","product_name",null,null,"width:250px;",
"เลือกรายการสินค้า","Product C","sale_product",null
);
?>    
<br><br>
<?php 
$_GET['data_select']="Product F";
SelectInput("
SELECT * FROM tbl_sale ORDER BY sale_date
","product_name",null,null,null,
null,$_GET['data_select'],"sale_product",null
);
?>    
</div>    
          
</body>
</html>


กด Like หรือ Share เป็นกำลังใจ ให้มีบทความใหม่ๆ เรื่อยๆ น่ะครับ











URL สำหรับอ้างอิง





คำแนะนำ และการใช้งาน

สมาชิก กรุณา ล็อกอินเข้าระบบ เพื่อตั้งคำถามใหม่ หรือ ตอบคำถาม สมาชิกใหม่ สมัครสมาชิกได้ที่ สมัครสมาชิก


  • ถาม-ตอบ กรุณา ล็อกอินเข้าระบบ
  • เปลี่ยน


    ( หรือ เข้าใช้งานผ่าน Social Login )







เว็บไซต์ของเราให้บริการเนื้อหาบทความสำหรับนักพัฒนา โดยพึ่งพารายได้เล็กน้อยจากการแสดงโฆษณา โปรดสนับสนุนเว็บไซต์ของเราด้วยการปิดการใช้งานตัวปิดกั้นโฆษณา (Disable Ads Blocker) ขอบคุณครับ