จะเขียนเลขที่สัญญา หรือใบเสร็จ ให้รันอัตโนมัติ

พอจะมีแนวทางในการเขียนโค้ดphpอย่างไรดีค่ะ
26 ส.ค. 2552 3 6,046

ปกติแล้ว เราจะใช้ฟิลด์ auto_number แหละครับ มาทำ ด้วยการจัดรูปแบบ id ครับ เราก็จะได้ฟิลด์ id ที่มีรูปแบบที่ต้องการ

ถ้าฟิลด์นี้ สามารถค้นหาได้ด้วย เราอาจต้องบันทึกฟิลด์นี้ลง db ไปด้วย แต่ถ้าใช้แค่เป็นเลขที่อ้างอิงเฉยๆ เราอาจใช้วิธีจัดการแสดงตัวเลขที่มีรูปแบบ แทนก็ได้ครับ
#1

อ้างอิงจาก หัวข้อพอจะมีแนวทางในการเขียนโค้ดphpอย่างไรดีค่ะ


ต้องการเลขสัญญาแบบยาวๆหรือสั้นๆหละครับ

ถ้าต้องการแบบยาวๆก็ลองวิธีนี้ครับ

อ้างอิงจาก หัวข้อ
EX.
switch($_POST['case']) {
  case "regis":
    $select_tbl_member="select * from tbl_member where email='$email' ";
    $send_tbl_member=mysql_db_query($database_config,$select_tbl_member); 
    $num=mysql_num_rows($send_tbl_member);
    
    $select_user="select * from tbl_member where username='$uname ' ";
    $send_user=mysql_db_query($database_config,$select_user); 
    $user=mysql_num_rows($send_user);
    
   if($fname != "" and $lname != "" and $email != "" and $address != "" and $tel != "" and $username != "" and $password != "" and $re_pass != "" and $password == $re_pass and $num < 1 and $user < 1){
    $insert_tbl_member="insert into tbl_member values(null,'$username','$password','$fname','$lname','$email','$address','$current','$tel','','$level','$pomotion') ";
   mysql_db_query($database_config,$insert_tbl_member)or die ("can not update");
    
    $select_maxid="select max(id) from tbl_member";
    $send_maxid=mysql_db_query($database_config,$select_maxid);
    $rec_maxid=mysql_fetch_array($send_maxid)or die("หาไอดีสูงสุดไม่ได้");
    $id_max=$rec_maxid[0];
    
    (integer)$num = ((integer)$date * 10000)+$id_max;
    $member_id = "mb_".$num;
    
    $update_tbl_member="UPDATE tbl_member set order_id = '$member_id'  where id='$id_max' ";
    mysql_db_query($database_config,$update_tbl_member)or die ("can not update");
   
    $status = true;
   }else{
    $status = false; 
   }
  break;


ผลลัพธ์ที่ได้คือ mb_1408090001 (ตัวอย่าง)
mb ย่อมาจาก menber
140809 คือ วันที่ 14 เดือน 08 ปี 09
0001 คือ เลขลำดับจำนวนของสามาชิกทั้งหมด

ก็สามารถนำไปเป็นหมายเลยสั่งซื้อได้เช่นกันครับ

หรือใช้เลขในฟิลด์อย่างที่อาจารย์บอกก็ได้ครับ
#2

ชอบคุณสำหรับความคิดเห็นค่ะ

#3
ความคิดเห็น
ไฟล์อัปโหลด ชนิด jpg, jpeg ขนาดไฟล์ไม่เกิน 1024
^