ยินดีต้อนรับคุณ, บุคคลทั่วไป กรุณา เข้าสู่ระบบ หรือ ลงทะเบียน

เข้าสู่ระบบด้วยชื่อผู้ใช้ รหัสผ่าน และระยะเวลาในเซสชั่น

ThaiSEOBoard.comพัฒนาเว็บไซต์Programming[WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!
หน้า: 1 2 3 [4] 5 6 ... 21   ลงล่าง
พิมพ์
ผู้เขียน หัวข้อ: [WEBDEV Room!] แชร์ทุกเรื่อง ถ้าเป็นเว็บ!  (อ่าน 67042 ครั้ง)
0 สมาชิก และ 1 บุคคลทั่วไป กำลังดูหัวข้อนี้
icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,886



ดูรายละเอียด
« ตอบ #60 เมื่อ: 08 สิงหาคม 2008, 13:45:32 »

ลองสั่ง print_r(mysql_fetch_array($sql)); เทียบกับ print_r(mysql_fetch_assoc($sql)); ดูได้เลยครับ
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
thenetxx
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 41
ออฟไลน์ ออฟไลน์

กระทู้: 1,986



ดูรายละเอียด เว็บไซต์
« ตอบ #61 เมื่อ: 08 สิงหาคม 2008, 13:46:28 »

 Embarrassed อ๊ายคุยไรกัน ไม่เห็นรู้เรื่องเลย
บันทึกการเข้า

Develop site but can't develop life
ASIA
pugkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 196
ออฟไลน์ ออฟไลน์

กระทู้: 2,681



ดูรายละเอียด เว็บไซต์
« ตอบ #62 เมื่อ: 08 สิงหาคม 2008, 14:03:22 »

ลองสั่ง print_r(mysql_fetch_array($sql)); เทียบกับ print_r(mysql_fetch_assoc($sql)); ดูได้เลยครับ

ได้เวลาเปลี่ยน แนว แว้ว (ขอ อภัยที่ใช้ภาษาไทยไม่ถูกต้อง แค่ต้องการแสดงความรู้สึก  Smiley  )

ขอบคุณ คุณ Icez มากครับ ที่ชี้ช่องทางให้   Smiley
บันทึกการเข้า

Kazamatsuri
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 319



ดูรายละเอียด
« ตอบ #63 เมื่อ: 08 สิงหาคม 2008, 15:58:29 »

ขอบคุณมากครับ ได้ความรู้มาอีกเยอะเลย Cry
บันทึกการเข้า

oldgame
สมุนแก๊งเสียว
*

พลังน้ำใจ: 26
ออฟไลน์ ออฟไลน์

กระทู้: 998



ดูรายละเอียด เว็บไซต์
« ตอบ #64 เมื่อ: 08 สิงหาคม 2008, 16:19:54 »

ขอบคุณมากครับ ได้ความรู้เยอะเลย

ขอตามติดห้องนี้ตลอดไป  Embarrassed
บันทึกการเข้า

โปรเกมส์ luna-z blog ส่วนตัวรวมโปร
ไก่ชน เว็บไซต์รวมซุ้มไก่ชน
รับออกแบบเว็บไซต์   รับออกแบบเว็บไซต์
รับทำเว็บ   รับออกแบบเว็บไซต์
พระเครื่อง พระล้านนา รวมพระเครื่องเมืองเหนือ
EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #65 เมื่อ: 08 สิงหาคม 2008, 19:39:57 »

โอ้ว เข็มขัดสั้นครับ

SHOW TABLE STATUS

 Shocked  เข้ามาแชร์บ่อยๆ นะครับ
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #66 เมื่อ: 08 สิงหาคม 2008, 20:14:27 »

วันนี้มาต่อกับ "การสวมหัวโขนให้ HTML"

** โพสนี้ไม่เกี่ียวข้องกับศิลปะ และนาฎศิลป์แขนงใดๆ ทั้งสิ้น โปรดอย่าสับสน
ลักษณะจะเหมือนกับการสวมเขาต่อหางให้ PHP เพียงแต่เป็นการทำกับ HTML
และโค้ดจะต่างกันไป


ขั้นแรกให้สร้างไฟล์ PHP  ที่จะเป็นหัวโขนมาสักไฟล์
สมมุติว่าชื่อ mask_html.php ละกัน

พอเราสร้าง ให้ลองใส่โค้ดนี้ลงไป
โค๊ด:
<?php
echo "It's a head!<br>";

//แสดงผล html (สำคัญ ห้ามลบ)
readfile($_SERVER["DOCUMENT_ROOT"].$_SERVER["REDIRECT_URL"]);

echo 
"<br>It's a foot!";
?>

แล้วเซฟ

ต่อมาให้แก้ .htaccess เพิ่มโค้ดนี้ลงไป

โค๊ด:
Action init_html_php /path-from-web-root/mask_html.php
AddHandler init_html_php .html .htm

โดยตรง path-from-web-root ก็คือต้องกำหนด path ให้ถูก โดยนับจากกรณีมีซัพโฟลดอร์หรือไม่

ยกตัวอย่าง localhost/
ก็จะเป็น Action init_html_php /mask_html.php

ยกตัวอย่าง localhost/web/html/
ก็จะเป็น Action init_html_php /web/html/mask_html.php

เมื่อกำหนดพาทเสร็จ ก็เซฟ


เท่านี้ เราก็จะสามารถสวมหัวโขนให้ไฟล์ html ทุกไฟล์ได้แล้ว
ทดลองด้วยการเปิด HTML สักไฟล์ที่อยู่ในโฟลเดอร์นั้นได้เลยครับ

 Smiley

----------------------------------------------------
เทคนิคสำหรับ PHP นั้น ลักษณะคือการ attach โค้ดนั้นๆ
เข้ากับการทำงานของโค้ดเดิม

แต่ HTML จะเป็นการเพิ่มการกระทำให้ PHP เข้าไปทำงานแทน HTML ที่โดนเรียก
จึงต้องมีการใช้ file_get_contents ในการทำงานด้วย

 Smiley


edit: แก้โค้ดเพิ่มโดย icez
« แก้ไขครั้งสุดท้าย: 14 กรกฎาคม 2009, 22:15:28 โดย EThaiZone » บันทึกการเข้า

thenetxx
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 41
ออฟไลน์ ออฟไลน์

กระทู้: 1,986



ดูรายละเอียด เว็บไซต์
« ตอบ #67 เมื่อ: 08 สิงหาคม 2008, 20:44:45 »

เห็นเค้าแชร์กัน อยากแชร์มั่ง
คอนแรกจะแชร์  ajax class ที่ใช้งานง่าย
เรียกแค่ 2 ไฟล์ ใช้ได้ทั้งเว็บ แต่กลัวมันจะยาวเกินไป


เลยแชร์ทริปง่าย ๆ ละกันเป็น  function java ใช้ ซ่อน/แสดง div

โค๊ด:
<input type="button" value="ซ่อน" onClick="hide_div_id('content');">
<input type="button" value="แสดง"  onClick="show_div_id('content');">

<div id="content">xxx content xxxx</div>
<script>
function show_div_id(id){
   document.getElementById(id).style.visibility = "visible";
   document.getElementById(id).style.display = 'inline';
}

function hide_div_id(id){
   document.getElementById(id).style.visibility = "hidden";
   document.getElementById(id).style.display = 'none';
}
</script>

 Cheesy
บันทึกการเข้า

Develop site but can't develop life
ASIA
Hanma
Verified Seller
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 283
ออฟไลน์ ออฟไลน์

กระทู้: 3,343



ดูรายละเอียด
« ตอบ #68 เมื่อ: 08 สิงหาคม 2008, 20:55:50 »

ไม่พลาดครับ สาระทั้งนั้น
บันทึกการเข้า

►► บันทึกการทำ Amazon Affiliate ด้วย Nichesite
กลุ่ม Amazon Affiliate Thailand https://www.facebook.com/groups/1866661123572353/
(สงวนสิทธิ์รับเฉพาะคนใช้ account facebook จริงเท่านั้น)
tanut
สมุนแก๊งเสียว
*

พลังน้ำใจ: 6
ออฟไลน์ ออฟไลน์

กระทู้: 840



ดูรายละเอียด เว็บไซต์
« ตอบ #69 เมื่อ: 08 สิงหาคม 2008, 21:01:29 »

ได้ความรู้ใหม่อีกแล้ว
บันทึกการเข้า

ขอบคุณสำหรับทุก Thanks ครับ

bakugan battle brawlers
fly london shoe
casio montres pour tous
baby shirt
kid shirt
pugkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 196
ออฟไลน์ ออฟไลน์

กระทู้: 2,681



ดูรายละเอียด เว็บไซต์
« ตอบ #70 เมื่อ: 08 สิงหาคม 2008, 23:33:05 »

เอา Function เพิ่มข้อมูลลง Data Base มาฝาก

โค๊ด:
        function add_data($field,$table)
{
  $sql_insert = key($field);
  $sql_value = "'".current($field)."'";
  for($i = 0; $i<count($field)-1; $i++)
  {
    next($field);
    $sql_insert = $sql_insert.",".key($field);
$sql_value = $sql_value.",'".current($field)."'";
  }
  $sql = "insert into $table($sql_insert) values($sql_value)";
  //print $sql;
  //exit;
  $rs = mysql_query($sql);
  if( $rs == 0 )
  {
    print "SQL Commdn Error !!!!<br>";
print $sql;
exit;
  }
}

วิธีใช้งาน
โค๊ด:
            $tbName = 'employee_tb';// กำหนดชื่อ ตาราง

  $field['em_user'] = $em_user; // ใส่ชื่อ Field ในตัวแปร Array พร้อมกำหนดค่า
  $field['em_pass'] = $em_pass;
  $field['em_name'] = $em_name;
  $field['em_lname'] = $em_lname;
  $field['em_lv'] = $em_lv;// ใส่ชื่อ Field ในตัวแปร Array พร้อมกำหนดค่า

  $add_data($field,$tbName);// รูปแบบการเรียกใช้ Paramiter $field คือ ตัวแปร Array , $tbName คือ ชื่อตาราง

เขียนเองมั่ว ๆ เหมาะไม่เหมาะอย่างไร รบกวน คนเก่ง ๆ ช่วยแก้ทีนะครับ  Tongue

หวังว่าจะเป็นประโยชน์นะครับ   Smiley
บันทึกการเข้า

icez
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 296
ออฟไลน์ ออฟไลน์

กระทู้: 2,886



ดูรายละเอียด
« ตอบ #71 เมื่อ: 08 สิงหาคม 2008, 23:33:25 »

ขอแก้ code น้องโจ้หน่อย
เพื่อ performance

search: echo file_get_contents
replace: readfile


วันนี้มาต่อกับ "การสวมหัวโขนให้ HTML"

** โพสนี้ไม่เกี่ียวข้องกับศิลปะ และนาฎศิลป์แขนงใดๆ ทั้งสิ้น โปรดอย่าสับสน
ลักษณะจะเหมือนกับการสวมเขาต่อหางให้ PHP เพียงแต่เป็นการทำกับ HTML
และโค้ดจะต่างกันไป


ขั้นแรกให้สร้างไฟล์ PHP  ที่จะเป็นหัวโขนมาสักไฟล์
สมมุติว่าชื่อ mask_html.php ละกัน

พอเราสร้าง ให้ลองใส่โค้ดนี้ลงไป
โค๊ด:
<?php
echo "It's a head!<br>";

//แสดงผล html (สำคัญ ห้ามลบ)
readfile($_SERVER['PATH_TRANSLATED']);

echo 
"<br>It's a foot!";
?>

แล้วเซฟ

ต่อมาให้แก้ .htaccess เพิ่มโค้ดนี้ลงไป

โค๊ด:
Action init_html_php /path-from-web-root/mask_html.php
AddHandler init_html_php .html .htm

โดยตรง path-from-web-root ก็คือต้องกำหนด path ให้ถูก โดยนับจากกรณีมีซัพโฟลดอร์หรือไม่

ยกตัวอย่าง localhost/
ก็จะเป็น Action init_html_php /mask_html.php

ยกตัวอย่าง localhost/web/html/
ก็จะเป็น Action init_html_php /web/html/mask_html.php

เมื่อกำหนดพาทเสร็จ ก็เซฟ


เท่านี้ เราก็จะสามารถสวมหัวโขนให้ไฟล์ html ทุกไฟล์ได้แล้ว
ทดลองด้วยการเปิด HTML สักไฟล์ที่อยู่ในโฟลเดอร์นั้นได้เลยครับ

 Smiley

----------------------------------------------------
เทคนิคสำหรับ PHP นั้น ลักษณะคือการ attach โค้ดนั้นๆ
เข้ากับการทำงานของโค้ดเดิม

แต่ HTML จะเป็นการเพิ่มการกระทำให้ PHP เข้าไปทำงานแทน HTML ที่โดนเรียก
จึงต้องมีการใช้ readfile ในการทำงานด้วย

 Smiley
บันทึกการเข้า

THZHost SSD Hosting ไทย/สิงคโปร์ พร้อม firewall ป้องกันการยิงเว็บ + scan ไวรัสในเว็บ
Tee++;
โปรแกรมเมอร์ จอหงวน
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 79
ออฟไลน์ ออฟไลน์

กระทู้: 1,861



ดูรายละเอียด เว็บไซต์
« ตอบ #72 เมื่อ: 09 สิงหาคม 2008, 00:41:50 »

โห Share กันใหญ่เลย ขอบ้างๆ

การทำ Compatibility Function

คงจะเคยเจอกันใช่มั้ยครับ function ใน php5 แต่ไม่สามารถเอามาใช้ใน php4 ทีนี้พอเปลี่ยน host ที เอาล่ะสิ ยุ่งเลยได้ ลองมาดูวิธีแก้กัน

โค๊ด:
if (!function_exists('get_headers'))
{
function get_headers($url,$format=0)
{
$url_info = parse_url($url);
$port = isset($url_info['port']) ? $url_info['port'] : 80;
$fp = @fsockopen($url_info['host'], $port, $errno, $errstr, 30);

if ($fp)
{
if(!$url_info['path'])
$url_info['path'] = "/";

if ($url_info['path'] && !$url_info['host'])
{
$url_info['host'] = $url_info['path'];
$url_info['path'] = "/";
}

if ($url_info['host'][(strlen($url_info['host'])-1)] == "/" )
$url_info['host'][(strlen($url_info['host'])-1)] = "";

if (!$url_array[scheme])
$url_array[scheme] = "http"; //we always use http links

$head = "HEAD ".@$url_info['path'];

if ($url_info['query'] )
$head .= "?".@$url_info['query'];
//print_r($url_info);

$head .= " HTTP/1.0\r\nHost: ".@$url_info['host']."\r\n\r\n";
      //echo $head;

fputs($fp, $head);
while (!feof($fp))
{
if ($header=trim(fgets($fp, 1024)))
{
if ($format == 1)
{
$h2 = explode(':',$header);

if($h2[0] == $header)
$headers['status'] = $header;
else
$headers[strtolower($h2[0])] = trim($h2[1]);
}
else
$headers[] = $header;
}
}
return $headers;
}
else
return false;
   }
}

ในตัวอย่างนี้ผมลองกับคำสั่ง get_headers ซึ่งมีใน php5 พอเปลี่ยนมาใช้ host ที่ไม่มีคำสั่งนี้ก็แค่ไปเช็คมันก่อนด้วย

function_exists จากนั้นเขียน function เลียนแบบมันเข้าไปเองเลยครับ

ส่วนคำสั่ง get_headers คือคำสั่งเอาไว้เช็ค header ของ external file โดยไม่ต้องไปทำการอ่าน binary คืออ่าน header แล้วก็จบเลย มีประโยชน์ในการเช็ค ข้อมูลจาก link ภายนอกครับ

ผมเห็นหลายคน เวลาจะเช็ค ว่าไฟล์มีหรือไม่มี บางทียังเขียนแบบนี้อยู่เลย

if (!fopen('http://www.jquerytips.com ', 'r')) exit;

ซึ่งมัน แดก performance ขั้นนรกเลยครับ ลองเปลี่ยนมาเป็น

$headers = get_headers($path);

if (!preg_match('/200/', $headers[0])) exit;

จะเห็นความแตกต่าง แบบ สวรรค์กับ นรกเลยครับ

ส่วนค่า return อื่นๆก็มีประโยชน์ไม่แพ้กัน

Array
(
    // check server status
   
  • => HTTP/1.1 200 OK
    // check date
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    // check server
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    // check last modify
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    // check e-tag (เอาไว้เช็คแทน md5_file ได้ดีมาก)
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    // check accept
    [5] => Accept-Ranges: bytes
    // check length (เอาไว้ทำ streaming download)
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

ลองดูกันนะครับ ^^
บันทึกการเข้า

thenetxx
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 41
ออฟไลน์ ออฟไลน์

กระทู้: 1,986



ดูรายละเอียด เว็บไซต์
« ตอบ #73 เมื่อ: 09 สิงหาคม 2008, 00:58:36 »

เอา Function เพิ่มข้อมูลลง Data Base มาฝาก

โค๊ด:
        function add_data($field,$table)
{
  $sql_insert = key($field);
  $sql_value = "'".current($field)."'";
  for($i = 0; $i<count($field)-1; $i++)
  {
    next($field);
    $sql_insert = $sql_insert.",".key($field);
$sql_value = $sql_value.",'".current($field)."'";
  }
  $sql = "insert into $table($sql_insert) values($sql_value)";
  //print $sql;
  //exit;
  $rs = mysql_query($sql);
  if( $rs == 0 )
  {
    print "SQL Commdn Error !!!!<br>";
print $sql;
exit;
  }
}

วิธีใช้งาน
โค๊ด:
            $tbName = 'employee_tb';// กำหนดชื่อ ตาราง

  $field['em_user'] = $em_user; // ใส่ชื่อ Field ในตัวแปร Array พร้อมกำหนดค่า
  $field['em_pass'] = $em_pass;
  $field['em_name'] = $em_name;
  $field['em_lname'] = $em_lname;
  $field['em_lv'] = $em_lv;// ใส่ชื่อ Field ในตัวแปร Array พร้อมกำหนดค่า

  $add_data($field,$tbName);// รูปแบบการเรียกใช้ Paramiter $field คือ ตัวแปร Array , $tbName คือ ชื่อตาราง

เขียนเองมั่ว ๆ เหมาะไม่เหมาะอย่างไร รบกวน คนเก่ง ๆ ช่วยแก้ทีนะครับ  Tongue

หวังว่าจะเป็นประโยชน์นะครับ   Smiley

เอามาให้ ลองดูกันครับ
 Smiley
โค๊ด:
    
function InsertDB($table, $field, $values) {
       
        if(!$table) return false;
        if(!$field) return false
       
        $sql = "insert into " . $table . "(" . $field . ") values (" . $values . ")";

        return mysql_query($sql) or die(mysql_error());

    }
    function InsertDBbyArr($table,$params){
            if(!$table || !$params) return false;

            foreach($params as $key => $val){
                $field .= $key.",";
                $value .= "'".$val."',";
            }
            $field =substr($field,0,-1);
            $value =substr($value,0,-1);

            return InsertDB($table,$field,$value);
               
    }

** แก้ เอา $this-> ออก
« แก้ไขครั้งสุดท้าย: 09 สิงหาคม 2008, 01:04:26 โดย thenetxx » บันทึกการเข้า

Develop site but can't develop life
ASIA
pugkung
Verified Seller
หัวหน้าแก๊งเสียว
*

พลังน้ำใจ: 196
ออฟไลน์ ออฟไลน์

กระทู้: 2,681



ดูรายละเอียด เว็บไซต์
« ตอบ #74 เมื่อ: 09 สิงหาคม 2008, 15:43:46 »

^
^
^
ว้าว สั้นกว่า และท่าทางจะเร็วกว่าด้วย ขอบคุณครับ  Smiley
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #75 เมื่อ: 09 สิงหาคม 2008, 18:15:16 »

if(!$table || !$params) return false;

เวลาจะเช็คตัวแปร แนะนำใช้ empty ดีกว่านะครับ (เครดิตจากคุณ icez)

if(empty($table) || empty($params)) return false;

 Tongue
บันทึกการเข้า

Kazamatsuri
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 319



ดูรายละเอียด
« ตอบ #76 เมื่อ: 09 สิงหาคม 2008, 18:41:23 »

พูดถึง empty() แล้ว งั้นขอถามต่อล่ะกันครับ

การใช้ empty() กับ isset() มีผลต่างกันยังไงครับ

อะไรคือข้อแตกต่างกันแบบชัดเจนในการเลือกใช้งาน Tongue
บันทึกการเข้า

EixQzUnG
สมุนแก๊งเสียว
*

พลังน้ำใจ: 34
ออฟไลน์ ออฟไลน์

กระทู้: 996



ดูรายละเอียด
« ตอบ #77 เมื่อ: 09 สิงหาคม 2008, 18:55:37 »

ตัวอย่าง

โค๊ด:
$cache_record_rows = "record_rows.txt";

//Make Cache
if(!file_exists($cache_record_rows)) {
$query2="SELECT COUNT(*) FROM tablesName WHERE condition LIMIT 50;";
$rows=mysql_query($query2);
if(empty($rows) $rows = "0";
file_put_contents($cache_record_rows, $rows); //คำสั่งนี้มีใน php5 เท่านั้น ถ้า php4 ก็ใช้ fopen เปิด แล้วค่อยสั่งเขียนเอา
}

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";

//Add Rows
$rows++;
file_put_contents($cache_record_rows, $rows);
echo "Update Rows!<br>";

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";

//Remove Rows
$rows--;
file_put_contents($cache_record_rows, $rows);
echo "Remove Rows!<br>";

//Get Rows
$rows = @intval(@file_get_contents($cache_record_rows));
echo "Found $rows<br>";

ประมาณนี้


แจ่ม เลยครับ คุณโจ้ ผมคิด อะไรออกเยอะแยะเลย


แต่ว่า ผมจะเก็บหลายๆ ข้อมูลไว้ในไฟล์เดียว เขียนยังไงดี

เช่นข้อมูล ใน record_rows.txt มีชัก 3 อย่าง ละ ครับ

แบบ คำสังเดียว แต่ รับค่า มา ถ้าเขียน เป็น แนว function จะ ยากไปไหมนะ

stat_id : 10
stat_user : 15
stat_view_page : xxx


เวลาเรา จะเปลี่ยน แปลง ค่า  เฉพาะ stat_id เขียนยังไงให้เข้า ถึง ละครับ


เปลี่ยนแปลงเฉพาะค่า stat_id ส่วน stat_user และอืนๆ คงค่าเดิมไว้
 
บันทึกการเข้า

EThaiZone
เจ้าพ่อโลลิค่อน
เจ้าพ่อบอร์ดเสียว
*

พลังน้ำใจ: 321
ออฟไลน์ ออฟไลน์

กระทู้: 12,518



ดูรายละเอียด เว็บไซต์
« ตอบ #78 เมื่อ: 09 สิงหาคม 2008, 22:27:57 »

พูดถึง empty() แล้ว งั้นขอถามต่อล่ะกันครับ

การใช้ empty() กับ isset() มีผลต่างกันยังไงครับ

อะไรคือข้อแตกต่างกันแบบชัดเจนในการเลือกใช้งาน Tongue

empty ใช้ตรวจหาว่าตัวแปรนั้นมันว่างหรือไม่

แต่กับ isset ใช้จตรวจว่าตัวแปรนั้นมีอยู่จริงหรือไม่

การใช้ isset จะไม่เหมาะกับพวกการรับข้อมูลเช่น GET POST
ยกตัวอย่าง ถ้ามีคนเรียกแบบนี้ download.php?id=

ถ้าใช้ empty($_GET['id']) มันจะคืน true แปลว่าตัวแปรนั้นว่าง
แต่ถ้า isset($_GET['id']) มันจะคืน true แปลว่าตัวแปรนั้นมี แต่เราไม่รู้ว่ามันว่างหรือไม่

ดังนั้นการใช้ empty จะชัวร์กว่า ในเรื่องตัวแปรนั้นๆ มีข้อมูลมาจริงๆ

แจ่ม เลยครับ คุณโจ้ ผมคิด อะไรออกเยอะแยะเลย


แต่ว่า ผมจะเก็บหลายๆ ข้อมูลไว้ในไฟล์เดียว เขียนยังไงดี

เช่นข้อมูล ใน record_rows.txt มีชัก 3 อย่าง ละ ครับ

แบบ คำสังเดียว แต่ รับค่า มา ถ้าเขียน เป็น แนว function จะ ยากไปไหมนะ

stat_id : 10
stat_user : 15
stat_view_page : xxx


เวลาเรา จะเปลี่ยน แปลง ค่า  เฉพาะ stat_id เขียนยังไงให้เข้า ถึง ละครับ


เปลี่ยนแปลงเฉพาะค่า stat_id ส่วน stat_user และอืนๆ คงค่าเดิมไว้

สมมุติว่าข้อมูลนั้นเป็น array แล้วนะครับ
เวลาก่อนจะเก็บลงไฟล์ ก็นำเอาอาเรย์นั้นไปเข้า serialize ก่อน
แล้วถ้าอยากเรียกมาแก้ไข ก็สั่งอ่านไฟล์ แล้วใช้ unserialize มาแปลงกลับเป็นอาเรย์
แล้วปรับค่าอาเรย์นั้นตามสะดวกเลย แล้วก่อนบันทึกกลับ ก็เข้า serialize ก่อนด้วยครับ

serialize และ unserialize เป็นฟังค์ชั่นคู่กัน ตัวหนึ่งใช้เข้า ตัวหนึ่งใช้ถอด
โดยจะแปลงตัวแปรหรืออาเรย์นั้นๆ เป็น text ในรูปที่ใช้บันทึกได้

โดยจะบันทึกทั้งชื่อ โครงสร้าง ชนิด ของตัวแปรนั้นๆ
เรียกง่ายๆ คือมันเหมาะกับการทำแคชของตัวแปรมากที่สุดครับ

 Smiley (วิธีใช้ลองหาอ่านใน php.net นะครับ)
« แก้ไขครั้งสุดท้าย: 10 สิงหาคม 2008, 01:34:06 โดย EThaiZone » บันทึกการเข้า

Kazamatsuri
ก๊วนเสียว
*

พลังน้ำใจ: 5
ออฟไลน์ ออฟไลน์

กระทู้: 319



ดูรายละเอียด
« ตอบ #79 เมื่อ: 09 สิงหาคม 2008, 23:59:18 »

พูดถึง empty() แล้ว งั้นขอถามต่อล่ะกันครับ

การใช้ empty() กับ isset() มีผลต่างกันยังไงครับ

อะไรคือข้อแตกต่างกันแบบชัดเจนในการเลือกใช้งาน Tongue

empty ใช้ตรวจหาว่าตัวแปรนั้นมันว่างหรือไม่

แต่กับ isset ใช้จตรวจว่าตัวแปรนั้นมีอยู่จริงหรือไม่

การใช้ isset จะไม่เหมาะกับพวกการรับข้อมูลเช่น GET POST
ยกตัวอย่าง ถ้ามีคนเรียกแบบนี้ download.php?id=

ถ้าใช้ empty($_GET['id']) มันจะคืน true แปลว่าตัวแปรนั้นว่าง
แต่ถ้า isset($_GET['id']) มันจะคืน true แปลว่าตัวแปรนั้นมี แต่เราไม่รู้ว่ามันว่างหรือไม่

ดังนั้นการใช้ empty จะชัวร์กว่า ในเรื่องตัวแปรนั้นๆ มีข้อมูลมาจริงๆ

ตายแระ โดนเต็ม ๆเลย ปกติผมใช้ isset กับพวกนี้ตลอดเลยอ่ะ Shocked

ต้องไปปรับการเขียนโค๊ดใหม่หน่อยแระ Embarrassed
บันทึกการเข้า

หน้า: 1 2 3 [4] 5 6 ... 21   ขึ้นบน
พิมพ์