PHP Ionic Angularjs Phonegap AJAX Javascript CSS MySQL jQuery Forum

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

07 August 2015 By


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





 
ฟังก์ชั่น
 
<?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>

Tags:: ฟังก์ชั่น php select option





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