แสดงกระทู้

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - อั๋น ทรงวุฒิ

หน้า: 1 ... 9 10 [11]
151
FoxPro [ xBase ] / PHP อ่าน .dbf
« เมื่อ: 14 พฤศจิกายน 2012, 12:26:30 AM »
ใน php.ini

ปลด ; extension=php_dbase.dll

function ที่ใช้งานได้

dbase_add_record เพิ่มข้อมูลเข้าฐานข้อมูล
dbase_close ปิดฐานข้อมูล
dbase_create สร้างฐานข้อมูล
dbase_delete_record ลบแถวข้่อมูลออกจากฐานข้อมูล
dbase_get_header_info อ่านข้อมูลรายละเอียดของฐานข้อมูล
dbase_get_record_with_names อ่านแถวข้อมูลจากฐานข้อมูล ออกมาเป็น array เป็นชื่อคีย์
dbase_get_record อ่านแถวข้อมูลจากฐานข้อมูล ออกมาเป็น array เป็นชื่ออินเดก
dbase_numfields อ่านจำนวน field ของไฟล์ฐานข้อมูล
dbase_numrecords อ่านจำนวนแถวข้อมูลทั้งหมดในฐานข้อมูล
dbase_open เปิดฐานข้อมูล
dbase_pack เพคฐานข้อมูล
dbase_replace_record แทนที่แถวของฐานข้อมูล


ตัวอย่าง code

โค๊ด: [Select]
<?php
//?open?in?read-only?mode
$db dbase_open('/tmp/test.dbf'0);

if?(
$db)?{
$record_numbers dbase_numrecords($db);
for?(
$i 1$i <= $record_numbers$i++)?{
$row dbase_get_record_with_names($db$i);
if?(
$row['ismember']?== 1)?{
echo 
"Member?#$i:?" trim($row['name'])?. "\n";
}
}
}
?>

152
FoxPro [ xBase ] / VFP + MySQL
« เมื่อ: 14 พฤศจิกายน 2012, 12:24:43 AM »
connectmy = ;

"Driver={MySQL ODBC 3.51 Driver};" + ;

"Server=192.168.1.100;" + ;

"UID=phadet;" + ;

"PASSWORD=enigma;" + ;

"Database=phadet;" +;

"Port=3306;" + ;

"STMT=set names tis620;"+; <-- หากไม่ใส่ตรงนี้จะทำให้ข้อความเป็น ? ? ? ?

"Option= 0;"

WAIT WINDOW connectmy

gnHandle = SQLSTRINGCONNECT(connectmy)

SELECT reserv

SCAN

sqltext="INSERT INTO phadet.reserv (rcode,cust_name,occupid,add1,add2) value ("

sqltext=sqltext + "'"+ALLTRIM(rcode)+"','"+ALLTRIM(cust_name)+"','"+ALLTRIM(occupid)+"','"+ALLTRIM(add1)+"','"+ALLTRIM(add2)+"')"

resulttext=SQLEXEC(gnHandle, sqltext)

ENDSCAN


*SQLEXEC(gnHandle, "SELECT * FROM customer")


= SQLDISCONNECT(gnHandle)

153
อ้างถึง
http://www.zend.com/en/community/pdt/downloads

คุณสมบัติเด่น

- ทำ Auto completion ให้กับ PHP ได้ (พิมพ์ขึ้่นหัวไว้ มันต่อเองให้จนจบเลย)

- ดัดแปลงนิดหน่อย ก็ทำ Auto completion ให้กับ Codeigniter ได้

- ยุบ Tag ให้เล็งไ้ด้ง่ายขึ้น มีำคำสั่งจัดหน้า ident ของ tag ได้อย่างเป็นระเบียบ

แค่นี้ผมก็พอใจแล้วครับ  (คนใจง่าย)




มาว่ากันต่อดีกว่า

ปกติเนี่ยนะ ถ้าจะเขียน PHP codeigniter มันก็เริ่มจากหน้าว่างๆใช่มะ

รันออกมาแล้ว หน้าตาไม่ค่อยสวย

ผมก็เลยคิดว่า ทำหน้า layout ไว้รอเลยดีกว่า

ออกแบบไว้ประมาณนี้ครับ


โค๊ด: [Select]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="th">
<head>
<link rel="stylesheet" type="text/css" href="main.css" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content=" " />
<title> Page Title</title>
</head>
<body>

<div id="container">
<h1>Main Topic</h1>

<div id="body">
body message
</div>

<p class="footer">Footer</p>
</div>

</body>
</html>


ซึ่งก็คือ หน้า welcome ของ codeigniter นั่นแหละ

แต่ผมจะแยก css ออกมาต่างหากครับ เพื่อความสะดวก


main.css

โค๊ด: [Select]
::selection{ background-color: #E13300; color: white; }
::moz-selection{ background-color: #E13300; color: white; }
::webkit-selection{ background-color: #E13300; color: white; }

body {
background-color: #fff;
margin: 40px;
font: 13px/20px normal Helvetica, Arial, sans-serif;
color: #4F5155;
}

a {
color: #003399;
background-color: transparent;
font-weight: normal;
}

h1 {
color: #444;
background-color: transparent;
border-bottom: 1px solid #D0D0D0;
font-size: 19px;
font-weight: normal;
margin: 0 0 14px 0;
padding: 14px 15px 10px 15px;
}

code {
font-family: Consolas, Monaco, Courier New, Courier, monospace;
font-size: 12px;
background-color: #f9f9f9;
border: 1px solid #D0D0D0;
color: #002166;
display: block;
margin: 14px 0 14px 0;
padding: 12px 10px 12px 10px;
}

#body{
margin: 0 15px 0 15px;
}

p.footer{
text-align: right;
font-size: 11px;
border-top: 1px solid #D0D0D0;
line-height: 32px;
padding: 0 10px 0 10px;
margin: 20px 0 0 0;
}

#container{
margin: 10px;
border: 1px solid #D0D0D0;
-webkit-box-shadow: 0 0 8px #D0D0D0;
}




ตัด code มาจากหน้า welcome

คราวนี้ก็เอาไปวางไว้ folder นอก application เลย



เข้าเมนู Windows > Preferences >Web > Editor > Templates.

กด New

ลองตั้งชื่อขึ้นมา ci_templ
content : All Html
Description (คำอธิบาย) : Codeigniter html

ใส่ Pattern เหมือนข้างบนลงไปเลย

โค๊ด: [Select]

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="th">
<head>
<link rel="stylesheet" type="text/css" href="main.css" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content=" " />
<title> Page Title</title>
</head>
<body>

<div id="container">
<h1>Main Topic</h1>

<div id="body">
body message
</div>

<p class="footer">Footer</p>
</div>

</body>
</html>



เวลาเรียกใช้งานก็กด [Ctrl]+[space] รายการ ci_templ ก็จะขึ้นมาให้เลือก


ที่มา : http://viralpatel.net/blogs/eclipse-tip-add-code-template-eclipse/

154
อยากพิมพ์นิดๆ หน่อยแล้วก็ให้มันเติม code ที่เหลือเองไหมครับ

เข้าเว็บนี้เลย http://www.editplus.com/html.html

โหลดไฟล์ที่ชื่อเกี่ยวกับ php และ html มาเลยครับ

ใส่ใน folder  - program files -> edit plus

แล้วไปตั้งค่า ใน Edit plus

Preference -> File -> Setting & Syntax

หัวข้อ PHP

ช่อง Autocomplete เลือกไฟล์ php.acp แค่นี้ก็ง่ายแล้วครับ


ถ้าอยากปรับแต่งไฟล์ acp ก็ได้นะครับ

เปิด php.acp มาพิมพ์ข้อความเพิ่มเข้าไปเลย

เช่น

โค๊ด: [Select]
#T=dbconn
<?php
@$db = new mysqli('localhost','root','pass','database'); //การติดต่อกับฐานข้อมูล
if(mysqli_connect_errno()){
echo 
"ไม่สามารถเชื่อมต่อ db ได้ : ".mysqli_connect_error();
exit;
}
$query="select * from employee";
$res=$db->query($query);
$num=$res->num_rows;
$row=$res->fetch_assoc();

echo 
$row['fullname'];
echo 
$row['age'];

?>


พิมพ์คำว่า dbconn แล้วก็กด space bar ดู จะพบว่าข้อความที่เรากำหนดไว้ใน auto complete จะถูกนำมาใช้แล้ว


tag: php, autocompletion, ide, editor

155
http://laravel.com/


อย่าจริงจังกับคำอ่านของผมนะครับ 

เพราะชื่อมันจำยาก เลยเรียกให้พ้องเสียงกับศัพท์วัยรุ่นแค่นั้นเอง



http://laravel.com/about

มานพหนุ่ม นามว่า Taylor Otwell  เขียนโปรแกรมด้วย Codeigniter อยู่พักนึง

อาศัยเวลาว่างพัฒนา Framework ขึ้นมาเองให้ชื่อว่า Laravel

ปล่อยของเมื่อ April of 2011 เป็นที่เล่าขานกันว่า มันแจ๋วไม่แพ้ Framework ใดๆ เท่าที่เคยมีมา


สร้างความสั่นคลอนให้กับ Codeigniter จนผู้ผลิตต้องออกมาชื่นชม

156
https://sites.google.com/site/label4j/home

แจกฟรีครับ เขียนด้วย JAVA

สามารถเชื่อมกับฐานข้อมูลได้ ซึ่งถ้าเป็น MySQL จำเป็นต้องมี Driver ด้วย

http://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-5.1.22.zip
(หรือ)
https://geotagtwitter.googlecode.com/files/mysql-connector-java-5.1.22.zip

เอาไฟล์ .jar ไปลงไว้ที่ c:\Program files\Java\jre6\lib\ext


ตั้งค่าในโปรแกรมเป็น

JBDC driver class : com.mysql.jdbc.Driver
Databse URL : jdbc:mysql://localhost/(ฐานข้อมูล)
Username : (แล้วแต่เครื่อง)
Password : (แล้วแต่เครื่อง)
SQL Query : select * from (ตาราง)

คราวนี้ก็ไปเลือก field ข้อมูลเพื่อทำ Barcode ได้เลย

ปรับแต่งขนาดจำนวน ให้พิมพ์ออกมาเต็มกระดาษ A4


ขอขอบคุณ คุณนิกร (Nikorn) มา ณ ที่นี้

157

ต้องการหาเครื่องพิมพ์สำหรับพิมพ์ใบเสร็จ ลองค้นดูรายการสินค้าจะพบว่า ราคาจะต่างกันสองระดับ ซึ่งแบ่งประเภทดังนี้


แบบถ่ายโอนความร้อนโดยตรง ( Direct Thermal Printer)

เครื่องพิมพ์บาร์โค้ดประเภทนี้จะถ่ายโอนความร้อนจากหัวพิมพ์สัมผัสกับกระดาษที่มีเคมี

หลักการเดียวกับเครื่อง FAX กระดาษความร้อน

อักษรบนใบเสร็จที่ได้ จะเลือนหายไปอย่างรวดเร็ว ถ้าโดนความร้อนหรือตากแดด



แบบถ่ายโอนความร้อนผ่านวัสดุอื่น ( Thermal Transfer Printer)

ราคาแพงกว่า

เครื่องพิมพ์บาร์โค้ดประเภทนี้ จะมีริบบ้อนเป็นตัวกลางระหว่างหัวพิมพ์ที่เป็นตัวส่งผ่านความร้อน และวัสดุที่นำมาพิมพ์

สรุปคือ มันต้องเปลี่ยนริบบ้อน

แต่ถ้าจะพิมพ์แบบไม่ใช้ริบบ้อนเหมือน Direct Thermal Printer ก็ได้นะครับ

158
ผมได้ไปเจอ Link เกี่ยวกับเรื่องราวของเมืองนอกโดยบังเอิญ

เลยอยากจะค้นคว้าต่อ เพื่อเอามาเป็นประเด็นถกกันสักหน่อย



อย่างน้อยก็จะเป็นไอเดียสำหรับลูกหลาน เหลน โหลน .. พ่อขุนราม ชาวบางระจัน ลูกย่าโม ฯลฯ

หรือแม้กระทั่งชาวไทยภูเขา นำไปเป็นตัวอย่างก่อร่างสร้างเมืองไวไฟ (ไม่ใช่ไฟไหม้กรุงศรีอยุธยานะครับ)


เมืองนอกเขาริหัวคิดจะให้มี WiFi กินไปทั้งเมือง

เอาตึกทั้งตึกสร้างไว้บนดอย ยิงคลื่นมาถล่มเมือง ชนิดที่ว่า Netbook ห่างเสาเกือบสองโล ยังเล่นเน็ตได้



Accesspoint ก็ใช้รุ่นอภิมหาไวไฟบรรลัยกัลปาวสาน



Footprint ของมัน ซัดกันไป 356,000 ตารางฟุต


159
อยากเขียน Application สักตัว ไว้จัดการฐานข้อมูลในหน่วยงาน

เสร็จเร็ว แก้ง่าย ต่อเติมไปได้เรื่อยๆ ไม่ซีเรียสเรื่องความปลอดภัย (ใช้กันเอง)


ถ้าท่านจ้างเขาเขียนโปรแกรม หรือซื้อโปรแกรมแกรมสำเร็จรูปมา

แน่นอนว่า มันต้องทดลองใช้ไปสักระยะหนึ่ง ถ้าไม่สอดคล้องกับระบบของท่าน หมายถึงความสูญเปล่า เสียโอกาสไปมากมาย

เอา LibreOffice Base ไปลองทำระบบต้นแบบก่อนไหม



ขอแนะนำ LibreOffice ซอฟต์แวร์เสรีจากโลก Opensource

ผนวกความสามารถเข้ากับ MySQL เท่านี้ก็ตอบโจทย์งานของท่านได้แล้ว

ประหยัดได้เป็นแสนเลยนะครับ


ทำไมต้องเลือก MySQL เป็นฐานข้อมูล ?

อันที่จริง LibreOffice Base ก็มีฐานข้อมูลของเขาเองนะครับ คล้ายๆ กับไฟล์ .mdb ใน MS Access นั่นแหละ

แต่ถ้าเราใช้ MySQL จะมีประโยชน์ดังนี้

-  สามารถในระบบ LAN กับ User หลายคนได้ โดยไม่ต้องห่วงเรื่องการเขียนข้อมูลทับกันโดยบังเอิญ
-  รับงานหนักได้เป็นล้าน Record สบายๆ
-  รองรับกับการปรับเปลี่ยนในอนาคตได้ เช่น ทำเป็นเว็บ  หรือจะเขียนโปรแกรมขึ้นมาใหม่จากเครื่องมือตัวอื่น
   สามารถใช้ฐานข้อมูลเดิมได้เลย โปรแกรมยังไม่เสร็จ ก็ใช้ของเดิมไปก่อนได้
-  มีความปลอดภัย ด้วยการ Login ซึ่งจำกัดสิทธิ์การเข้าถึงได้ใน MySQL เอง
   ถ้าจะ Hack ข้อมูล ต้อง Hack ที่ server

พักก่อนนะครับ แล้วค่อยมาต่อทีหลัง ...

หน้า: 1 ... 9 10 [11]