วันอาทิตย์ที่ 9 กันยายน พ.ศ. 2555

คำสั่ง SQL ในการ Select ตาราง


คำสั่ง SQL ในการ Select ตาราง

บทความนี้จะเป็นการราบรวมคำสั่ง MySQL ที่ทำงานกับตาราง

คำสั่ง SQL ในการ Select ตาราง

select * from table_name
select * from table_name where field_name=''$variable_name''

การใช้ limit ในการ Select ตาราง

select * from table_name order by field_name desc limit 0, 1

คำอธิบาย limit 0, 1
0 หมายถึง ให้เริ่มแสดงจาก record ที่ 0 (record แรก)
1 หมายถึง ให้แสดงเป็นจำนวน 1 record
หรืออธิบายเพิ่ม 1 หมายถึงนับว่าจะเอากี่เรคคอร์ด จาก 0
เช่น limit 2,2 หมายความว่าเอาตั้งแต่ เรคคอร์ด 2 ถึง 3 เป็น 2 เรคคอร์ด

การดึงข้อมูลโดยกำหนดให้เรียงลำดับข้อมูล
select * from table_name order by field_name desc
desc เป็นการเรียงลำดับจากมากไปหาน้อย
asc เป็นการเรียงลำดับจากน้อยไปหามาก

การดึงข้อมูลเฉพาะฟิลด์ที่ต้องการ
Select field_name1,field_name2 from table_name

คำสั่ง SQL ในการ Update
Update table_name set field_name1=''$data1'', field_name2=''$data2''

คำสั่ง SQL ในการ Insert
Insert into table_name (field_name1, field_name2) values (''$data1'',''$data2'')

คำสั่ง SQL ในการ Delete
Delete from table_name where field_name=''$variable''

คำสั่งที่ใช้ในการ search คือ LIKE
$sql="SELECT * FROM table_name WHERE $field_search LIKE ''$search''";
$result=mysql_query($sql);
เมื่อ $field_search = ฟิลด์ที่ต้องการค้นหา เช่น ค้นหาโดยใช้ชื่อ , นามสกุล
$search=คำที่ต้องการค้นหา
LIKE ''%$search'' แปลว่า ลงท้ายด้วย $search
LIKE ''$search%'' แปลว่า ขึ้นต้นด้วย $search
LIKE ''%$search%'' แปลว่า มีคำว่า $search (ช้าสุด)

able_name คือชื่อตาราง
field_name คือชื่อฟิลด์
$variable คือค่าที่ได้รับมาจากตัวแปร
$variable_name คือค่าที่ได้รับมาจากตัวแปร
$data คือค่าหรือข้อมูลที่ได้รับมาจากตัวแปร
$field_search คือค่าที่ได้รับมาจากตัวแปรว่าเลือกค้นหาใน ฟิลด์ไหน
$search คือค่าที่ได้รับมาจากตัวแปร ว่าใช้คำ keyword ไหนในการค้นหา

ขอบคุณบทความจาก : http://www.artnanastudio.com

 
การ  configure  PHP  เข้ากับ  IIS7

FastCGI to Host PHP Applications on IIS 7 (คลิกลิ้งตามหัวข้อเข้าไปอ่านได้ครับ)
Step 1: Install and Configure PHP
1. Download:
phpHYPERLINK "http://windows.php.net/downloads/releases/php-5.2.17-nts-Win32-VC6-
2. Change
php.ini-recommended to php.ini and then Setting php.ini
fastcgi.impersonate = 1
cgi.fix_pathinfo = 1
cgi.force_redirect = 0
extension_dir = "C:\your_php_path\ext\"
3. cmd >
เข้า folder php > เช็กว่า php สามารถทำงานได้แล้วรึยังโดย php -info หรือ php -version เช่น ผม Extract ไฟล์ .zip ที่ได้มาจากข้อ 2 ไว้ที่ E:\php5.2.17 ค่าของ extension_dir ก็จะตั้งค่าเป็น
extension_dir = "E:\php5.2.17\ext\"
แบบนี้เป็นต้น
Step 2: Configure IIS 7 to Handle PHP Requests
1. Double click “Handler Mappings” on IIS Manager
2. Actions pane, click Add Module Mapping and setting like this
Request path:
*.php
Module:
FastCgiModule
Executable:
"PATH_FILE_TO_YOUR_PHP_INSTALLATION\php-cgi.exe"
Name:
PHP via FastCGI
3. Click OK.
ถ้าคลิก OK แล้วไม่ได้ให้ลองเช็กว่า IIS เปิด CGI แล้วรึยัง
4. In the Add Module Mapping confirmation dialog box that asks if you want to create a FastCGI application for this executable, click Yes.
5. Test by following code: <?php phpinfo(); ?>
 
ETC. php.ini
fastcgi.logging = 0
allow_url_fopen = Off
allow_url_include = Off
magic_quotes_gpc = On
include_path = "C:\phpnts5217\pear"
upload_tmp_dir = "E:\inetpub\temp\"
session.save_path = "E:\inetpub\temp\"
open_basedir = "E:\inetpub\"
display_errors = On
register_globals = Off
log_errors = Off
## Optional ##
safe_mode=On
error_log="C:\path\of\your\choice"
max_execution_time=30
max_input_time=60
upload_max_filesize=2M
post_max_size=8M
Test something ;)
<?php
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, '
http://www.teenee.com/index.html');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 180);
$data = curl_exec($ch);
curl_close($ch);
echo $data;

วันเสาร์ที่ 8 กันยายน พ.ศ. 2555

เรื่องเกี่ยวกับฐานข้อมูล select, function ดึงข้อมูลออกมาโชว์

การระบุ Database ในคำสั่ง SELECT
เมื่อเรากำหนดชื่อ table ภายในคำสั่ง SELECT นั้น MySQL จะตรวจสอบ database ที่เราใช้งานอยู่ว่ามี table ที่ระบุมาหรือไม่ เช่น ถ้าเราใช้งาน database Employee อยู่ เมื่อเราต้องการดึงข้อมูลจากตาราง Person ใน database Employee จะต้องใช้คำสั่งดังนี้
# ในกรณีที่เราเลือกใช้งานฐานข้อมูล Employee อยู่ (โดยใช้คำสั่ง use Employee)
SELECT * FROM Person;
แต่ในกรณีที่เราไม่ได้เลือกใช้งาน database ตัวไหนเลย ผลลัพธ์ที่ได้จากคำสั่งด้านบนนั้นจะทำให้เกิด error ดังนี้
# ในกรณีที่เราไม่ได้เลือกใช้งานฐานข้อมูลตัวไหนอยู่เลย
SELECT * FROM Person;
ERROR 1046: No Database Selected
เราสามารถแก้ปัญหาวิธีนี้ได้โดยการกำหนด database ที่มีตารางนั้น ๆ ที่เราต้องการไปด้วยดังนี้
# รูปแบบ SELECT * FROM database_name.table_name
SELECT * FROM Employee.Person;
หรือเราอาจจะทำการเลือกใช้งาน database นั้น ๆ ก็ได้ แล้วจึงสามารถใช้คำสั่งเดิมได้ ดังนี้
# เลือกใช้งานฐานข้อมูล Employee
USE Employee;

# ใช้คำสั่งเดิม โดยไม่ต้องระบุ database
SELECT * FROM Person;





ฟังก์ชันในการดึงข้อมูล (แสดงข้อมูล)

อ่าน [17038] หมวดหมู่: ฟังก์ชัน MySQL ใน PHP
เราจะสามารถดึงข้อมูลมาได้ก็ต่อเมื่อเราทำการ query ไปยังฐานข้อมูล และมันคืนค่ากลับมาเป็น resource โดยใช้ฟังก์ชัน mysql_query() ที่ผมได้กล่าวไว้ในบทความที่แล้ว ซึ่งฟังก์ชันในการดึงข้อมูลจาก resource มีหลายตัวดังนี้
ความแตกต่างระหว่าง function ในการดึงข้อมูลใน 4 วิธีแรกนั้นแตกต่างกันเพียงนิดเดียวเท่านั้น ซึ่งผมจะยกตัวอย่างให้ผู้อ่านได้เข้าใจทีละวิธีนะครับ

วิธีการดึงข้อมูลแบบ mysql_fetch_row()

1.<?php
2.$query = "SELECT person_id, name, surname FROM tbl_person";
3.$rs = mysql_query($query);
4.while($row = mysql_fetch_row($rs)) {
5.    echo "$row[0] $row[1] $row[2]<br />\n";
6.}
7.?>
จากตัวอย่างด้านบนนั้น เราจะสามารถเข้าถึงแต่ละ column (หรือ field) ได้โดยกำหนด key แบบ index เท่านั้น (โดย index แต่ละตัวจะเรียงตาม field ที่ถูกเลือกด้วยคำสั่ง query ดังนั้น index ที่ 0 จะแทน person_id, index ที่ 1 จะแทน name และ index ที่ 2 จะแทน surname)

วิธีการดึงข้อมูลแบบ mysql_fetch_assoc()

1.<?php
2.$query = "SELECT person_id, name, surname FROM tbl_person";
3.$rs = mysql_query($query);
4.while($row = mysql_fetch_assoc($rs)) {
5.    echo $row['person_id'] . " " .  $row["name"] . " " .  $row['surname'] . "<br />\n";
6.}
7.?>
ในการดึงข้อมูลโดยวิธีนี้นั้น เราสามารถเข้าถึงข้อมูลแต่ละ field แบบ associative เท่านั้น ซึ่ง key ของ array จะสร้างตามชื่อ field ที่เราได้เลือกไว้ในคำสั่ง query

วิธีการดึงข้อมูลแบบ mysql_fetch_array()

1.<?php
2.$query = "SELECT person_id, name, surname FROM tbl_person";
3.$rs = mysql_query($query);
4.while($row = mysql_fetch_array($rs)) {
5.    echo $row[0] . " " .  $row['name'] . " " . $row[2]<br />\n";
6.}
7.?>
ในการดึงข้อมูลโดยวิธีนี้ มันจะคืนค่ากลับมาเป็น array ทั้งแบบ associative และแบบ index เลย ดังนั้นเราสามารถเข้าถึงข้อมูลแต่ละ field ได้โดยการอ้าง key หรือกำหนด index ให้มันก็ได้
วิธีสุดท้ายที่แตกต่างจากวิธีอื่น ๆ ก็คือ mysql_result() โดยมันจะคืนค่าเพียง 1 cell เท่านั้น ดังนั้นเราจะต้องกำหนดแถวเรคอร์ด และ field ที่ต้องการดึงมาด้วย ดังนี้
1.<?php
2.$query = "SELECT count(*) FROM tbl_person";
3.$rs = mysql_query($query);
4.$count_person = mysql_result($rs, 0, 0);
5.?>
จากตัวอย่างจะเห็นว่า parameter ตัวแรกนั้นจะต้องกำหนดเป็น resource ที่ได้จากการ query ส่วน parameter ตัวที่ 2 จะต้องกำหนดแถวที่ต้องการดึงมา และ parameter ตัวที่ 3 จะต้องกำหนด field ที่ต้องการดึง โดยอาจจะกำหนดเป็น associative ก็ได้

ที่มา : http://www.stepcoding.com/hot/PHP/ฟังก์ชัน%20MySQL%20ใน%20PHP/ฟังก์ชันในการดึงข้อมูล%20(แสดงข้อมูล)/10-13-127.html