หลังจากที่ไมได้อัพมานานแสนนาน,,

ตอนนี้สามารถเสริชได้แล้วหลังจากที่พยายามกันสุดๆ -*-

มันติดอยู่แค่นิดเดียวเท่านั้น ติดอยู่ที่ว่ามันจะทำให้ ลิงค์ไปได้ยังไง

พยายามดูๆจากทั้งในdocument แล้วก็พยายามถามไปบ้าง

ถ้าพึ่งตัวเองอย่างเดียวก็คงไม่รอด เพราะเวลาฝึกงานมันก็นิดเดียว

ต้องมาอ่านDocument อีกบานตะไท
จริงๆก็อยากทำให้มันเสร็จๆไป จะได้ทำงานอื่นบ้าง

ไม่ต้องจมอยู่กับงานเดียว เรื่องเดียว มันเสียเวลา

แต่ตอนนี้มันทำบ่ได้ = =

กะลังพยายามอ่านแล้วก็หาวิธี ถามคนอื่นที่เค้าควบคุมดูแลDrupal ให้เว็บของ

ที่บริษัทอื่น เค้าบอกว่า เค้ายังไม่เคยถึงขั้นแก้ไขโมดูล อะไรทำนองนั้น

แถมลงท้ายให้ฟังว่ามันยาก  – -”

 

ตอนนี้กำลังพยายามค่ะ

• Drupal CT,,2 *~

••Creating the Files••
สิ่งแรกที่เราจะต้องทำคือ เราจะต้องตั้งชื่อ Module โดยการตั้งชื่อโมดูลนั้น เราจะต้องให้มีความเหมาะสม
คือ ควรจะสั้นแล้วก็กระชับ สามารถเข้าใจได้ว่าโมดุลของเราจะทำอะไร  ต่อมากคือ
เราจะใส่โมดุลที่เราสร้างไว้ใน sites>modules>วางโมดุลลงไป(โฟลเดอร์) โดยจะต้อง FTP เอา
โดยการเก็บโมดูลนี้จะแยกจาก Core ไฟล์ที่เกี่ยวข้องกับ module ก็จะอยู่ภายในโฟลเดอร์โมดุลของเรา
และเราควรจะมีไฟล์ readme.txt เพื่อบอกให้ผู้ใช้รู้เกี่ยวกับการใช้งาน module ของเราด้วย

เราจะต้องสร้าง name.info ในที่นี้ name คือโมดูลของเรา
ภายในไฟล์ .info นี้ก็จะมีลักษณะ

; $Id$
name = Annotate
description = Allows users to annotate nodes.
package = Example
version = “$Name$”

name = ชื่อโมดูล
description =  คำอธิบายเกี่ยวกับโมดูล
package = บอกให้รู้ว่ามอดูลเรามีเพื่อนร่วมมอดูลอะไรบ้าง ฃ
version = บอกว่า Drupal ที่เราใช้ Version ไหน

ไฟล์ต่อมาที่เราต้องทำการสร้างคือ annotate.module ภายในโฟลเดอร์ย่อยannotate
เราจะเริ่มด้วยโค้ด PHP โค้ด … ๖๗

โดยคำบรรยายอธิบายโมดูลจพอยู่ในเครื่องหมาย /*** และปิดด้วย **/
โดยแต่ละบันทัดเราจะต้องขึ้นด้วย (*)

<?php
// $Id$
/**

  • @file
  • Lets users add private annotations to nodes.
  • * Adds a text field when a node is displayed
  • so that authenticated users may make notes.
  • /

สุดท้ายจะต้องปิดด้วย (?>) และ save file แล้วก็เข้าไปที่
Administer ? Site building ? Modules.
moduleของคุณก็จะโชว์ใน list แล้ววว

ส่วนการตั้งค่าให้เราสามารถใช้webfrom ได้ มี 2 ขั้นคือ
1. เราจะกำหนด path ที่เราจะเข้าไปเซ็ทค่าของเราได้
2. เราจะสร้างรูปแบบการตั้งค่า
(อันนี้แปลแล้วงง)

••Implement a hook••
เราจะย้อนกลับที่การสร้างระบบของhook ซึ่งในบางครั้งเราจะเรียกว่า Callback. 
เวลาที่เราทำงาน drupal จะถามว่าเราต้องการจะทำอะไร เช่น เมื่อเราต้องการโมดุลที่ตอบสนองคำร้องขอปัจจุบัน
มันจะจัดการหาเส้นทาง และจะแสดงเป็นList มาให้ และเรียกฟังก์ชั่นที่มีชื่อโมดูลมาให้
เช่น plus_menu => annotate_menu (งงวุ้ว)

/**

  • Implementation of hook_menu().
  • /

function annotate_menu($may_cache) {
$items = array();
if ($may_cache) {
$items[] = array(
‘path’ => ‘admin/settings/annotate’,
‘title’ => t(‘Annotation settings’),
‘description’ => t(‘Change how annotations behave.’),
‘callback’ => ‘drupal_get_form’,
‘callback arguments’ => array(‘annotate_admin_settings’),
‘access’ => user_access(‘administer site configuration’)
);
}
return $items;
}

User จะเข้าไปใช้งานใน admin>setting>annotae และเรียกฟังก์ชั่น Drupal_get_form()
โดยมี annotate_admin_set เป็นพารามิเตอร์ ส่งไปด้วย
โดยข้อความที่เป็น title จะต้องอยู่ภายใน t()ส่วน description ก็เช่นกัน

••Adding Module-Specific Settings••
Drupal มีnode หลายชนิดเช่น story & page หากเราต้องการที่จำกัดการใช้งานไว้เพียงบางโมดูล
(คงจะประมาณว่า Node บางอัน user ธรรมดา อาจไม่เหน)
เราก็จะต้องสร้าง page ซึ่งเราจะทำให้มันสามารถบอก โมดูลได้ว่าเป็น node ชนิดไหน เราต้องแอดข้อมูลด้านล่างลงไป

/**

  • Define the settings form.
  • /

function annotate_admin_settings() {
$form['annotate_nodetypes'] = array(
‘#type’ => ‘checkboxes’,
‘#title’ => t(‘Users may annotate these node types’),
‘#options’ => node_get_types(‘names’),
‘#default_value’ => variable_get(‘annotate_nodetypes’, array(’story’)),
‘#description’ => t(‘A text field will be available on these node types to make
user-specific notes.’),
);
$form['array_filter'] = array(‘#type’ => ‘hidden’);
return system_settings_form($form);
}

เราจะให้ชื่อของ form แสดงข้อความอยู่ใน t() เราจะตั้งค่าการแสดงผลของ node_get_types(‘name’)
ให้คืนค่าได้ง่ายมากยิ่งขึ้น

••Adding the Data Entry Form••
การเพิ่มdata form
/**

  • Implementation of hook_nodeapi().
  • /

function annotate_nodeapi(&$node, $op, $teaser, $page) {
switch ($op) {
case ‘view’:
global $user;
// If only the node summary is being displayed, or if the
// user is an anonymous user (not logged in), abort.
if ($teaser || $user->uid == 0) {
break;
}
$types_to_annotate = variable_get(‘annotate_nodetypes’, array(’story’));
if (!in_array($node->type, $types_to_annotate)) {
break;
}
// Add our form as a content item.
$node->content['annotation_form'] = array(
‘#value’ => drupal_get_form(‘annotate_entry_form’, $node),
‘#weight’ => 10
);
}
}

เราจะเรียกใช้ nodeapi() ก็ต่อเมื่อ Drupal มีการทำงานหลายอย่าง หรือมี implement hook อื่นๆ
module อื่นๆ จำเปลี่ยนแปลงnode ก่อนการทำงานที่ต่อเนื่อง เราจะได้รับNode ผ่านตัวแปร $node
และ ‘&’  ในค่าตัวแปรนั้น จะแสดงว่าเป็นการอ้างอิงไปยัง  $node object ซึ่งจะหมายความว่า
การเปลี่ยนแปลงใดๆที่เกิดขึ้นกับ node จะถูกเก็บไว้ทั้งหมด แล้วเราก็จะสามารถทำการเปลี่ยน node ได้

การส่งข้อมูลบางส่วนก็จะใช้การเรียนฟังก์ชั่น ข้อมูลที่อยู่ในตัวแปร &op ในการส่งค่ามาว่า
เราต้องการที่จะทำอะไร เช่น Insert ,delete,modify โดยเราจะใช้ Swich case
ในการเลือก case ของค่าที่มากับตัวแปร $op
และเมื่อตัวแปร $teaser (codeด้านบน) มีค่าเป็นจริงถ้าเป็นแบบนี้ node ก็จะไม่แสดงเอง แต่จะแสดงเป็นlistแทน
เช่น ผลลัพธ์ของการเสิรช เราจะไม่สนใจการเพิ่มในกรณีนี้ แต่ในกรณีอื่นๆ  หาก $user = 0 ก็จะหมายความว่า
ไม่มีใครlogin อยู่เลย และเราจะทำการออกจากswitch case โดยการใช้break
ก่อนที่เราจะทำการเพิ่ม annotation form ไปยัง webpage 
เราจำเป็นต้องตรวจสอบว่า node ไหนกำลังทำงานอยู่บ้าง เราต้องเก็บสถานะการเปลี่ยนแปลงไว้ในอาเรย์
ของnode เอาไว้ทำการ implement แล้วก็ติดตั้ง hook & เก็บค่าตัวแปร

สุดท้ายเราจะต้องสร้าง ฟอร์มและ เพิ่มมันเข้าไปในcontent ของ$node อย่างแรกคือ เราต้องกำหนดค่าฟอร์ม
ซึ่งเราถ้าเรามีบางอย่างจะต้องเพิ่มเข้าไป เราจะต้องแยกฟังก์ชั่นให้มันด้วย ดังเช่น

/**

  • Define the form for entering an annotation.
  • /

function annotate_entry_form($node) {
$form['annotate'] = array(
‘#type’ => ‘fieldset’,
‘#title’ => t(‘Annotations’)
);
$form['annotate']['nid'] = array(
‘#type’ => ‘value’,
‘#value’ => $node->nid
);
$form['annotate']['note'] = array(
‘#type’ => ‘textarea’,
‘#title’ => t(‘Notes’),
‘#default_value’ => $node->annotation,
‘#description’ => t(‘Make your personal annotations about this content
here. Only you (and the site administrator) will be able to see them.’)
);
$form['annotate']['submit'] = array(
‘#type’ => ’submit’,
‘#value’ => t(‘Update’)
);
return $form;
}
เราจะสร้างฟอร์มเหมือนกับการสร้าง annotate_admin_settings() โดยเราจะสร้างตัวแปรอาเรย์มา
ซึ่งภายในอาเรย์นั้นจะต้องมี textbook / submit โดยเราจะต้องจัดกลุ่มให้  textbook / submit เข้าด้วยกันบนเว็บเพจ
อันดับแรกเราจะต้องสร้าง อาเรย์ที่เป็น #type=>’fieldset’ และตั้งชื่อให้มัน(fieldset) โดยค่าของtextbook / submit
ก็๋จะเปนสมาชิกของfieldset(อาจจะหมายถึงอาเรย์ซ้อนอาเรย์) และเราจะใช้$form['annotate']['note']แทน $form['note'].
วิธีนี้ Drupal จะสามารถเข้าใจได้ว่า textarea เป็น สมาชิกของ fieldset

จะเริ่มกันที่หัวข้อของ Core เลยแล้วกัน เพราะว่าหัวข้ออื่น มันไม่ค่อยสำคัญเท่าไหร่

••CORE••
Core ก็จะประกอบด้วย  code ที่ทำให้ระบบสามารถ Bootstrap เมื่อมันได้รับการร้องขอ
และมี Library of common function ที่ใช้บ่อยๆ และ โมดุลที่เตรียมไว้สำหรับฟังก์ชันการทำงานพื้นฐาน
เช่น User management,Taxonomy,Templating

โดยจะอยู่ในลักษณะของรูปดังกล่าว

••Administrative Interface••
ในส่วนของ Administrative Interface(การจัดการอินเตอร์เฟสของแอดมิน)ในDrupal นั้น จะอยู่ที่เดียวกันกับ
site(เว็บ) โดยที่ค่าเริ่มต้นของการใช้ธีมจะเหมือนกันหมด โดยUserคนแรก คือ User 1หรือเป็น Seper User
ซึ่งจะสามารถเข้าถึงsite ภายในได้ หลังจากที่User1 ทำการ เข้าระบบแล้วก็จะเห็น link จัดการต่างๆและUser Block
เมื่อเราเข้าไปในUser blockก็จะเหนAdministrative Interface โดยแต่ละบล๊อคของผู้ใช้ก็จะมีส่วนประกอบที่แตกต่างกันไป
โดยจะขึ้นกับว่าระดับของการเข้าถึงเว็บไซต์เป็นยังไง

••Modules••
Drupalจะเป็นระบบModular หมายความว่า เป็นระบบใหญ่ที่มีโครงสร้างแบ่งส่วนการทำงานเป็นโมดูลย่อยภายใน
โดยโมดูลต่างๆ ถ้าเราต้องการจะใช้หรือจะยกเลิกการใช้ก็สามารถทำได้เพียงทำการ enabled หรือ disabled
อันนี้บอกไว้เพื่อเป็นความรู้สำหรับที่คนที่ผ่านเข้ามาแล้วทำการอ่านและไม่เข้าใจว่าจะไป enabled หรือ disabled
ที่ใด ก็ต้องเข้าไปที่ Administer>Site building>Modules>เลือก Enabled ในช่องที่ต้องการจะใช้module
หรือถ้าต้องการจะยกเลิก ก็เข้าที่เดิมแล้วก็มาเอาเครื่องหมายถูกออก แค่นี้ก็เร่บร้อยโรงเรียนจีน
โดยโมดูลจะแบ่งเป็นสองแบบ ก็คือ แบบแรกเป็น โมดูลที่ติดมากับDrupal กับโมดูลที่พัฒนาขึ้นโดยสมาชิกของชุมชน

••Hook••
Hook เป็น เหตุการ์ณภายในDrupal(มันแปลมางี้อ่ะ) ซึ่งเราจะเรียกมันว่า Callback เพราะHookถูกสร้างโดย การตั้งชื่อฟังก์ชัน
จริงๆแล้วHookไม่ได้เป็นCallback (น่าจะประมาณว่า ไม่ return ค่านะ)
 เมื่อมีUser login เข้ามา Drupal ก็จะใช้ ฟังก์ชันUser Hook ก็จะมี module name,hook name ถูกเรียกใช้งาน
เช่น comment_user() ในส่วนของcomment module  และ locale_user()ในส่วนของ node module

••File Layout••
โครงสร้างของ Drupal`s directory คือ
1. file  จะเก็บ logo,avatars,file upload อื่นๆ
2. includes จะเก็บ libraries common function ที่Drupalใช้
3. misc เก็บjavascript,icon,pic ในการติดต่อ Drupal
4. module มีcore module ภายใน module ก็จะมีโฟลเดอร์ของมันเองด้วย โดย module ที่อยู่ใน core ไม่ควรจะแก้ไขใดใดทั้งสิ้น
หากเราต้องการเพิ่ม module ก็จะต้องเข้าไปในfolder site>modules>ใส่โมดูลลงไป
5.profiles ภายในโฟลเดอร์Profile ก็จะมีความแตกต่างกันไปของแต่ละsite และถ้าหากมีไฟล์อื่นๆ ที่นอกเหนือจากที่มีอยู่ใน
Profile ก็จะอยู่ในโฟลเดอร์ย่อยนี้ โดยการติดตั้งจะเป็นแบบ E-commerce
6.script ไว้สำหรับตรวจสอบ syntax , cleaning up code,และจัดการ special cases with cron. (ไม่รุจะแปลยังไง)
จะมี Script Shell อยู่ภายในด้วย(บางส่วน)
7.sites ใส่พวกการปรับปรุงDrupal ให้มีประสิทธิภาพเพิ่มมากขึ้น เช่นเราโหลด ธีมมา เราก็จะใส่ไว้ใน sites
8.theme Theme ในที่นี้จะเป็น theme ของ core ดังนั้นภายในก็จะเก็บธีมต้นแบบเอาไว้

••Bootstrap Process••
อันนี้ยังไม่เก็ทเหมือนกันแห้ะ

อ่าน Document มาสองวัน

มันช่าง มันช่าง

ยากเย็นเหลือเกิน มันยากมาก

แปล..ยากมาก คำศัพท์แต่ละอย่างไม่ยากเท่าไหร่

แต่พอเอามารวมกันปุ๊บ มันยากเหลือแสน

ไม่ค่อยเข้าใจสุดๆๆ เด่วแตจะต้องไปหาหนังสือมาอ่านแล้วละ

ลองไปดูหนังสือภาษาไทย – -”

เด่วครบสองบทจามาอัพเนื้อหาทั้งหมด

 

 

By the way * แต่ค่อนข้างจะอ่านช้า เพราะโง่อิ้ง กราบขออภัย

นั่นอ่าน Document ทั้งวัน รวมถึงถามเข้าไปใน community แล้วนั่งเล่น

พวกoption ที่กระทู้เก่าๆ ไปขุดมาดูแล้วลองทำความเข้าใจ สุดท้าย

เค้าก็ลิงค์เข้าหา Document ภาษาปะกิดอยู่ดี (- – “)

หมดหนทางเลยต้องนั่งทำความเข้าจัย งิบๆๆๆ เชิ้บๆๆๆ

สรุปคือ

ใน 1 โมดูล ถ้าเราต้องการที่จะทำ เราก็อาจจะเอาโมดูลที่มีความคล้ายคลึงมาก๊อปวางได้เลย

แต่เราจะต้องเพิ่ม Code ที่เป็นส่วนที่เราต้องการลงไป

(ซึ่งคำถามที่หนึ่งของแตคือ แตยังไม่รู้จะเอา Code ไปวางไว้ที่ไหน)

ซึ่งจากที่ดูๆแล้วมันน่าจะอยู่ในส่วนของ .module (ถ้าเดาไม่ผิด)

ซึ่งภายใน.module จะมีหลักการเขียนฟังก์ชั่นโดยอ้างตัวแปร 3 ตัว

$op , $delta , $edit

โดยแต่ละตัวจะเป็น parameter  โดย

$ op จะเป็น Block Function ที่มีหน้าที่ที่แตกต่างกันอยู่ 4 อย่าง คือ list,view,save,form

ซึ่งจะทำหน้าที่เป็นอะไรก็แล้วแต่ว่าจะมีโค้ดอะไรต่อท้าย Function ซึ่งอาจจะหมายถึง

หน้าที่ที่จะทำขึ้นอยู๋กับ โค้ดที่เราเขียนนั่นเอง (แตแปลได้แบบนี้อ่ะ)

ส่วน $delta เป็น Block module ที่เอาไว้ใช้สร้าง บล๊อคอื่นๆ (งงๆ)

โดยในแต่ละบล๊อคที่เราสร้างขึ้นนั้นก็จะมี $delta ที่แตกต่างกันไป โดย $delta ก็จะคือตัวเลข

ที่เอาไว้ยืนยันความแตกต่างของบล๊อคนั้นๆ  เช่นพวก User login

$edit อันนี้ยัง งง อยู่อ่ะว่า คืออารัย

แล้วก็ยังมีส่วน .info ที่บอกว่า ภายใน .info ต้องประกอบด้วยอะไรบ้าง

หรือในแต่ละตัวแปรนั้น จะต้องมีข้อจำกัดยังไง

โดยไฟล์.info จะเป็นตัวบอกให้Drupal รู้เกี่ยวกับ ไซต์ของเรา

เป็นต้น

วันนี้ แค่นี้ก่อน – -” จะกลับแล้วง่ะ

นั่งคุยก่ะพี่ฝึกงานของเพื่อนที่กำลังควบคุม Drupal แต่เหมือนพี่เค้าจะไม่คอยมีเวลา

เลยไม่ค่อยจะตอบคำถามซักเท่าไหร่

ตอนนี้รู้ชะตากรรมว่าต้องทำโมดูลจริงๆ

คอยภาวนาว่าอย่าให้ทำเลย แล้วก็ได้ทำจริงๆ ฮร่าๆๆๆๆๆ

วันนี้จะกลับไปอ่าน document

พี่โจ้พูดเรื่อง Drupal แต่ขอยอมรับเลยว่า

ยังไม่เข้าจัยอยู่ว่าไอ้ api (DB_query) จะเอาไปใส่ไว้ยังไง

มันบ่เข้าใจจริงๆ หรืออาจเพราะว่ายังไม่ค่อยเข้าใจวิธีการสร้างโมดูล

แต่วันนี้ที่พี่โจ้อธิบายให้แตฟังอ่ะ แตเข้าจัยนะ เข้าใจขึ้นเยอะเลย

แต่ตอนนี้ ยังงงเลย add Api ที่พี่บอกแตน่ะแหล่ะ

อิอิ

พรุ่งนี้จะมานั่งทำแล้ว เริ่มทำใหม่เอาดีดีเลย จะได้เก็ทกันซะที

แต่ตอนนี้กับวันแรกที่มาต่างกันเยอะเลย เด่วนี้ไปโพสตอบคนอื่นได้แล้วด้วย 555

 

ปอลอ * พาไปกินติมเฟสติเวิลลล มั่งจิ พูดกันนู๋อยากกินจัง 55

<html>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=windows-874″ />
  <style type=”text/css”>
    body {
  background-color : #FFFFCC;
    }
    form {
  width: 540px;
  background-color : #FFCCFF;
  margin: 5px 15px; border: 1px solid green;
  padding: 10px;
    }
  </style>

  <script type=”text/javascript”>
color = “”;
function Set_Odd(Row) {
  color = Row.style.backgroundColor;
  Row.style.backgroundColor = “#FFFF00″; 
}
function Set_Even(Row) {
  color = Row.style.backgroundColor;
  Row.style.backgroundColor = “#FFFFCC”; 
}
function Reset(Row) {
  Row.style.backgroundColor = color;
}
</script>

</head>

<body>
<?php
  if($_POST['_submit_check']) {
   if(!validate_id()) {
    if(!validate_name()) {
     $sql = “select sid,sname from student”;
     showResult($sql);
    }
    else {
     $name = $_POST['name'];
     $sql = “select sid,sname from student where sname LIKE ‘%$name%’”;
     showResult($sql);
    }
   }
   else {
    if(!validate_name()) {
     $id = $_POST['id'];
     $sql = “SELECT sid,sname FROM student WHERE sid LIKE ‘%$id%’”;
     showResult($sql);
    
    }
    else {
     $id = $_POST['id'];
     $name = $_POST['name'];
     $sql = “select sid,sname from student where sid LIKE ‘%$id%’ or sname LIKE ‘%$name%’”;
     showResult($sql);
    }
   }
  }
  else {
    showForm();
  }
  function showResult($sql) {
   $mysqli = new mysqli(“localhost”,”root”,”",”db_student”);
   $mysqli->set_charset(“tis620″);
   if($mysqli === false) {
  die (“ERROR: Could not connect. ” . mysqli_connect_error());
   }

   if($result = $mysqli->query($sql)) {
    if($result->num_rows > 0) {
     $count = 1;
     echo ‘<table>’;
     echo ‘<tr bgcolor=\”#00FF00\”>’;
     echo ‘<th>ที่</th>  <th>รหัส</th>  <th>สกุล</th>’;
     echo ‘</tr>’;
     while($row = $result->fetch_array()) {
      $id = $row['sid'];
      $name = $row['sname'];
      if($count%2 == 0) {
        echo “<tr onmouseover=\”Set_Even(this)\” onmouseout=\”Reset(this)\” bgcolor=\”#0066FF\”>”;
        echo “<td>$count</td> <td>$id</td> <td>$name</td>”;
        echo ‘</tr>’;
      }
      else {
        echo “<tr onmouseover=\”Set_Odd(this)\” onmouseout=\”Reset(this)\” bgcolor=\”#FF6600\”>”;
        echo “<td>$count</td> <td>$id</td> <td>$name</td>”;
        echo ‘</tr>’;
      }
      $count++;
     }
     $result->close();
    }
    else {
     die (“No record matching your query were found.”);
    }
   }
   else {
    die (“Error : could not execute $sql” . $mysqli->error);
   }
   $mysqli->close();
  }
  function validate_id()
  {
   if(strlen(trim($_POST['id'])) == 0)
    return false;
   else
    return true;
  }

  function validate_name()
  {
   if(strlen(trim($_POST['name'])) == 0)
    return false;
   else
    return true;
  }

  function showForm()
  {  
 echo    “<form method=\”post\” action = \“project.php\”>”;
 echo    “<label for = \”id\” style = \”width:120px;\”>รหัส:</label>”;
 echo    “<input type=\”text\” name=\”id\” />”;
 echo    “<br/>”;
 echo ”<label for = \”name\” style = \”width:120px;\”>ชื่อ-สกุล:</label>”;
 echo ”<input type=\”text\” name=\”name\” />”;
 echo ”<br/>”;
 echo ”<label style = \”width:120px;\”></label>”;
 echo ”<input type=\”submit\” value=\”ค้นหา\” />”;
 echo ”<input type=\”reset\” value=\”เริ่มใหม่\” />”;
 echo ”<input type=\”hidden\” name=\”_submit_check\” value=\”1\” />”;
 echo    “</form>”;
  }
?>

</body>
</html>

วันนี้นั่งเขียนโปรแกรม เสริชให้พี่โจ้ -.- เพราะพี่โจ้บอกว่าต้องการให้มันเสร็จแว้ว

พั่โจ้อยากให้เสร็จแล้ว แต่ว่า .. มันยังทำไม่ได้เลยคร้ะ

แตพยายามมาทุกทางแล้วไม่รุเพราะโง่ หรือโง่กว่า 55+

มันบ่ได้จริงๆเด้อ ใช้โปรแกรมนี้แล้วก็ไม่ได้ มันติด error Project.php ตัวสีชมพู

มันไม่รู้เป็นอะไร – -”

 

แต่แตลองไปโพสถามดูแล้ว พรุ่งนี้อาจจะได้คำตอบที่ดีกว่านี้

 

>.<

วันนี้จะกลับบ้านเร็วจาไปหาหนังสือภาษาไทยที่ออกวันนี้

หวังว่ามันจะมีเนอะ แห่ะๆๆๆ

วันนี้นั่งหา Search ก่ะถามพี่ๆให้เค้าช่วยสอนทั้งวัน

ลองสคริป PHP เองแล้ว ด้วยวันนี้ พยายมนั่งหาจากเว็บ + เขียนจากความรู้

แต่ตอนนี้ยัง Error อยู๋เลย แต่เด่วต้องลองใหม่วันจันทร์

วันจันทร์คงต้องเอาตำรา ลึกลับจากอาจารย์มาด้วยแล้ว จริงๆวันนี้ตั้งใจจะเอามา

แต่ ลืม …

ตอนนี้ก็พยายามทำอย่างสุดความสามารถ แต่มันเบื่อๆบ้างเพราะมันไม่เวิร์ค

แต่จะพยายามคร่า

ยังไงพี่โจ้ช่วยแตดูหน่อยแล้วกัน เพราะแตหมดความสามารถแว้วว

ตอนนี้กำลังEditplusแล้วลองแบบ Appserve เลย

ลองเขียนดูเผื่อรันได้จริงๆ แล้วเด่วเราจามาดูกัน

วันนี้พยายามนั่งแก้โค้ด PHP ที่ดึงข้อมูลมาจากใน DB เพราะคิดว่าเปนการง่ายที่สุดแล้ว

 

แต่ตอนนี้มันพังไปแล้ว 555 มันเน่าไป ไม่รู้เพราะตัวแปรหรือว่าอะไร งง แต๊ๆๆ

 

เด่วพร่งนี้ก็ต้องมาต่อ ทำไมได้แล้วนะเนี่ยเสริช ทำไม่ถูกแล้ว ต้องรอพี่โจมาชี้ทางสว่างแล้วล่ะค่ะ

 

 

>>> เจอผีที่เมืองทองแย่จิงๆเชียว

Recently ,, His Hair is so long

Now His hair is so short

Many Petal Talk about his hair

But i think He so cute in every hair

He is my idol ,, i love him and member of super junior

i hope meet him soon after i meet him in siam

 

^

^

วันนี้เริ่มทำความเข้าใจเกี่ยวกับการทำ บล๊อคต่างๆ

โชคช่วยจริงๆที่พี่ MNOP เข้ามาก่อน แหม สวรรค์ลงมาโปรดจริงๆด้วย

ทำให้ได้เข้าใจเรื่องบล๊อคมากกว่าเดิม สิบเท่าเลยอ้ะ

ตอนนี้งานก็เริ่ม ก้าวหน้าไปไปอีกนี้สสสนึงแล้ว

 

พรุ่งนี้จะต้องเริ่มทำเสริช กับ ทำ Show Data ของ Drupal

แล้วก็คงต้องทำ Security ของ Drupal ที่พี่โจบอกก็คือ

 

ห้ามมี clear หวังว่ามันคงจะทำได้เพราะว่า จริงๆปุ่ม Clear มันมากับโปรแกรมอยู่แล้ว

แต่มันก็คงต้องทำได้เพราะว่ามันเป็น Opensource ฮ่าๆ  แอบ งงเล็กๆ

 

เอาเป็นว่าวันนี้ได้อะไรไปเยอะเลยเพราะว่า พี่ๆที่เค้ารู้เรื่องพร้อมใจกันออนมากๆ