phpBB : วิธีรับค่าปปุ่มเมนูแบบ Array ในการสร้างปุ่มเมนูหลายๆเมนูในฟอร์มเดียวกัน

PHP Knowledge เป็น บอร์ดรวามความรู้ php เน้นบทความ แนวทางการเขียนโปรแกรม บันทึกกันลืม เพื่อให้สมาชิกได้เขียนความรู้ที่ตัวเองมีให้สมาชิกท่านอื่นๆ ได้ เข้ามาอ่าน และ ไว้อ่านเองกันลืมด้วย

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
thatsawan
PHP VIP Members
PHP VIP Members
Posts: 27201
Joined: 31/03/2014 10:02 am
Contact:

phpBB : วิธีรับค่าปปุ่มเมนูแบบ Array ในการสร้างปุ่มเมนูหลายๆเมนูในฟอร์มเดียวกัน

Post by thatsawan »

แบบเเรกที่เราสร้างกันประจำ คือ สร้างฟอร์ม เเล้วมีกด submit เพียงปุ่มเดียวเราจะเขียนในลักษณะแบบนี้

Code: Select all

<form id="acp_portal_slide_ads" method="post" action="{U_ACTION}">
    <fieldset class="tabulated">
            <p class="quick">
                    <input class="button2" name="add" type="submit" value="{L_ACP_TP_PORTAL_ADD}" />
            </p>
    </fieldse
ส่วนของการรับค่า

Code: Select all

$action		= request_var('action',
ที่นี่ถ้าเราจะสร้างปุ่มเมนูให้มีหลายๆ ปุ่มในฟอร์มเดียว
2014-12-10_22-27-20.png

Code: Select all

<form id="search" method="post" action="{SEARCH_ACTION}">
    <div class="action-bar top">
            {L_SEARCH_KEYWORDS}{L_COLON} <input type="text" name="search" value="{SEARCH_WORDS}" />&nbsp;
            <input type="submit" class="button2" name="action[search]" value="{L_SEARCH}" />
            <input class="button1" type="submit" id="submit" name="cancel" value="{L_CANCEL_ACTIVE}" />
            </div>

        <fieldset class="display-actions">
                <input class="button2" type="submit" name="action[del_all]" value="{L_DELETE_ALL}" />
                &nbsp;<input class="button1" type="submit" value="{L_DELETE_MARKED}" name="action[del_marked]" />
                <div><a href="#" onclick="marklist('search', 'mark', true); return false;">{L_MARK_ALL}</a> :: <a href="#" onclick="marklist('mcp', 'mark', false); return false;">{L_UNMARK_ALL}</a></div>
        </fieldset>
</form>
ให้ใส่ชื่อปุ่ม เป็นแบบ Array ก่อน ในตัวอย่างจะมีอยู่
action = ปุ่มค้นหา
action[del_all] = ปุ่มลบทั้งหมด
action[del_marked] = ปุ่มลบที่เลือก

ในหน้า php วิธีการรับค่า ปุ่มเเบบ Array

Code: Select all

       $action        = request_var('action', array(''), true);// ,true สำหรับปุ่มที่เราใช้งานไฟล์ภาษาไทย
                print_r($action);
ผลของการรับค่า
เมื่อคลิกที่ปุ่มค้นหา เราจะได้เเบบนี้
Array ( [0] => ค้นหา )

เมื่อคลิกที่ ลบทั้งหมดเราจะได้แบบนี้
Array ( [0] => ลบทิ้งทั้งหมด )

** ที่ผลออกมาได้ลักษณะนี้ เป็นเพราะว่ามันนำเอาค่า Value ของปุ่ม ที่เราใส่ชื่อปุ่มต่าง ในไฟล์ภาษามาแสดง **
แบบนี้[ไฟล์ภาษา]

Code: Select all

 'SEARCH' => 'ค้นหา',
เมื่อเราได้เเบบนี้เเล้วเราสามารถเขียนแบบ Case การทำงานได้ แบบตัวอย่าง

Code: Select all


switch ($action[0]) { //จะต้องระบุ index 
 case $user->lang['SEARCH'] : // เราจะใช้ตัวแปลที่ดึงไฟล์ภาษาเข้ามาเป็นชื่อ Case   $this->search();
 break;
 default :
     // ...                                
break;
  • Similar Topics
    Replies
    Views
    Last post

Return to “PHP Knowledge”

Who is online

Users browsing this forum: No registered users and 18 guests