Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ช่วยดูโค้ดให้หน่อยคับ เขียนแล้วผลไม่ไปอย่างที่หวัง



 

ช่วยดูโค้ดให้หน่อยคับ เขียนแล้วผลไม่ไปอย่างที่หวัง

 



Topic : 003860

Guest






--------------------------------------------------------------------------------
ผมเขียนโค้ดการเช็ควันลาของพนักงาน แล้วผลปรากฏว่า มันเช็คให้เมื่อเลือกช่วงวันที่น้อยกว่าวันที่เริ่มคันหา และมากกว่าวันสุดท้ายอ่ะคับ ใครพอจะช่วยได้ไหมคับผมสุดปัญญาแล้วอ่ะคับ
///// โค้ดคับ
<?
$day = array( "1"=>01,"2"=>02,"3"=>03,"4"=>04,"5"=>05,"6"=>06,
"7"=>07,"8"=>08,"9"=>09,"10"=>10,"11"=>11,"12"=>12, "13"=>13,"14"=>14,"15"=>15,"16"=>16,"17"=>17,"18"=>18,
"19"=>19,"20"=>20,"21"=>21,"22"=>22,"23"=>23,"24"=>24,
"25"=>25,"26"=>26,"27"=>27,"28"=>28,"29"=>29,"30"=>30,
"31"=>31
);

$mouth = array( "มกราคม"=>01,"กุมภาพันธ์"=>02,"มีนาคม"=>03,"เมษายน"=>04,
"พฤษภาคม"=>05,"มิถุนายน"=>06,"กรกฏาคม"=>07,"สิงหาคม"=>08,
"กันหายน"=>09,"ตุลาคม"=>10,"พฤศจิกายน"=>11,"ธันวาคม"=>12
);

$year = array( "2540"=>1997,"2541"=>1998,"2542"=>1999,"2543"=>2000,
"2544"=>2001,"2545"=>2002,"2546"=>2003,"2547"=>2004,
"2548"=>2005
);
$Sday = $day[$startday];
$Smouth =$mouth$startmouth];
$Syear = $year[$startyear];
$Eday = $day[$endday];
$Emouth = $mouth[$endmouth];
$Eyear = $year[$endyear];
?>
<HTML>
<HEAD><TITLE>ตรวจสอบวันลา</TITLE>
</HEAD><BODY>
<?
if ($user==""){
echo "$user กรุณากรอกรหัส <a href=\"File1.php\">back</a>";
}
else if (!(checkdate($Smouth,$Sday,$Syear))){ echo "$Smouth,$Sday,$Syear,$startmouth,<BR>";
echo "กรุณาใส่ วัน/เดือน/ปี ช่วงเริ่มต้น ให้ถูกต้อง
<a href=\"File1.php\">back</a>";
}
else if (!(checkdate($Emouth,$Eday,$Eyear))){
echo "กรุณาใส่ วัน/เดือน/ปี ช่วงสุดท้าย ให้ถูกต้อง
<a href=\"File1.php\">back</a>";
}
else if (mktime($Smouth,$Sday,$Syear)>
mktime($Emouth,$Eday,$Eyear))
{
echo "กรุณาใส่ วัน/เดือน/ปี ในช่วงเวลาที่ถูกต้อง
<a href=\"File1.php\">back</a>";
}
else{
$dsn = "myDb"; $id = "user"; $pass = "pass";
$conn = odbc_connect($dsn, $id , $pass);
$sql= "Select * From TimeCard where Prcode='$user'";
$result = odbc_exec($conn, $sql);
$u= odbc_result($result,"Prcode");
if ($u==""){
echo "$user ไม่มีรหัสนี้ กรุณากรอกรหัสใหม่อีกครั้ง
<a href=\"File1.php\">back</a>";
}else{
?>
<center>
<table border="1">
<tr>
<td colspan="3"><CENTER>แสดงวันลา</CENTER> </td>
</tr>
<tr>
<td width="17%"><CENTER>ลำดับที่</CENTER></td>
<td width="54%"><CENTER>วันลา</CENTER></td>
<td width="29%"><CENTER>แบบการลา</CENTER></td>
</tr>
<?
$i = 0; $flag2 = 0; $flag3 = 0; $flag4 = 0;

$start= (string)$Syear."-".(string)$Smouth."-".(string)$Sday." 00:00:00";
$end= (string)$Eyear."-".(string)$Emouth."-".(string)$Eday." 00:00:00";

while (odbc_fetch_row($result)){
$d = odbc_result($result,"Date");

if ($d==$start){
if ($d==$end){ $i++;
?>
<tr> <td><CENTER><? echo "$i"; ?></CENTER></td> <td><CENTER>
<? $d2 = changedate($d); echo "$d2"; ?>
</CENTER></td> <td><CENTER><? echo"$start ,$end";?></CENTER></td>
</tr>
<?
}
}
}
?>
</table>
ค้นหาใหม่อีกครั้ง <A HREF="File1.php">ที่นี่</A>
</center>
<?
}
}
?>
</BODY></HTML>
<?
////////////////////////////////changedate////////////////////////////////////////
function changedate($date){
$y = substr($date,0,4);
$y = (integer)$y;
$y = $y+543;
$y = (string)$y;
$mouths = array( "01"=>"มกราคม","02"=>"กุมภาพันธ์","03"=>"มีนาคม",
"04"=>"เมษายน","05"=>"พฤษภาคม","06"=>"มิถุนายน",
"07"=>"กรกฏาคม","08"=>"สิงหาคม","09"=>"กันหายน",
"10"=>"ตุลาคม","11"=>"พฤศจิกายน","12"=>"ธันวาคม"
);
$m = substr($date,5,2);
$m = $mouths[$m];
$d = substr($date,8,2);
$date = $d."-".$m."-".$y;
return $date;
}
?>


ลองทำดูก้อได้น่ะคับ มันผิดตรงไหนใครรู้ไหม อ้อเกือบลืม ผมทำไฟล์ไว้อีกตัวหนึ่ง เป็นรับค่า แบบ <Select></Select> วัน เดือน ปี และ ช่องกรอกรหัสพนักงาน


ช่วนหน่อยน่ะคับ




Author: snowa, Forum Member, Status: Offline
Posted: May 04, 2005 - 12:28 PM

--------------------------------------------------------------------------------
ผมเขียนโค้ดการเช็ควันลาของพนักงาน แล้วผลปรากฏว่า มันเช็คให้เมื่อเลือกช่วงวันที่น้อยกว่าวันที่เริ่มคันหา และมากกว่าวันสุดท้ายอ่ะคับ ใครพอจะช่วยได้ไหมคับผมสุดปัญญาแล้วอ่ะคับ
///// โค้ดคับ
<?
$day = array( "1"=>01,"2"=>02,"3"=>03,"4"=>04,"5"=>05,"6"=>06,
"7"=>07,"8"=>08,"9"=>09,"10"=>10,"11"=>11,"12"=>12, "13"=>13,"14"=>14,"15"=>15,"16"=>16,"17"=>17,"18"=>18,
"19"=>19,"20"=>20,"21"=>21,"22"=>22,"23"=>23,"24"=>24,
"25"=>25,"26"=>26,"27"=>27,"28"=>28,"29"=>29,"30"=>30,
"31"=>31
);

$mouth = array( "มกราคม"=>01,"กุมภาพันธ์"=>02,"มีนาคม"=>03,"เมษายน"=>04,
"พฤษภาคม"=>05,"มิถุนายน"=>06,"กรกฏาคม"=>07,"สิงหาคม"=>08,
"กันหายน"=>09,"ตุลาคม"=>10,"พฤศจิกายน"=>11,"ธันวาคม"=>12
);

$year = array( "2540"=>1997,"2541"=>1998,"2542"=>1999,"2543"=>2000,
"2544"=>2001,"2545"=>2002,"2546"=>2003,"2547"=>2004,
"2548"=>2005
);
$Sday = $day[$startday];
$Smouth =$mouth$startmouth];
$Syear = $year[$startyear];
$Eday = $day[$endday];
$Emouth = $mouth[$endmouth];
$Eyear = $year[$endyear];
?>
<HTML>
<HEAD><TITLE>ตรวจสอบวันลา</TITLE>
</HEAD><BODY>
<?
if ($user==""){
echo "$user กรุณากรอกรหัส <a href=\"File1.php\">back</a>";
}
else if (!(checkdate($Smouth,$Sday,$Syear))){ echo "$Smouth,$Sday,$Syear,$startmouth,<BR>";
echo "กรุณาใส่ วัน/เดือน/ปี ช่วงเริ่มต้น ให้ถูกต้อง
<a href=\"File1.php\">back</a>";
}
else if (!(checkdate($Emouth,$Eday,$Eyear))){
echo "กรุณาใส่ วัน/เดือน/ปี ช่วงสุดท้าย ให้ถูกต้อง
<a href=\"File1.php\">back</a>";
}
else if (mktime($Smouth,$Sday,$Syear)>
mktime($Emouth,$Eday,$Eyear))
{
echo "กรุณาใส่ วัน/เดือน/ปี ในช่วงเวลาที่ถูกต้อง
<a href=\"File1.php\">back</a>";
}
else{
$dsn = "myDb"; $id = "user"; $pass = "pass";
$conn = odbc_connect($dsn, $id , $pass);
$sql= "Select * From TimeCard where Prcode='$user'";
$result = odbc_exec($conn, $sql);
$u= odbc_result($result,"Prcode");
if ($u==""){
echo "$user ไม่มีรหัสนี้ กรุณากรอกรหัสใหม่อีกครั้ง
<a href=\"File1.php\">back</a>";
}else{
?>
<center>
<table border="1">
<tr>
<td colspan="3"><CENTER>แสดงวันลา</CENTER> </td>
</tr>
<tr>
<td width="17%"><CENTER>ลำดับที่</CENTER></td>
<td width="54%"><CENTER>วันลา</CENTER></td>
<td width="29%"><CENTER>แบบการลา</CENTER></td>
</tr>
<?
$i = 0; $flag2 = 0; $flag3 = 0; $flag4 = 0;

$start= (string)$Syear."-".(string)$Smouth."-".(string)$Sday." 00:00:00";
$end= (string)$Eyear."-".(string)$Emouth."-".(string)$Eday." 00:00:00";

while (odbc_fetch_row($result)){
$d = odbc_result($result,"Date");

if ($d==$start){
if ($d==$end){ $i++;
?>
<tr> <td><CENTER><? echo "$i"; ?></CENTER></td> <td><CENTER>
<? $d2 = changedate($d); echo "$d2"; ?>
</CENTER></td> <td><CENTER><? echo"$start ,$end";?></CENTER></td>
</tr>
<?
}
}
}
?>
</table>
ค้นหาใหม่อีกครั้ง <A HREF="File1.php">ที่นี่</A>
</center>
<?
}
}
?>
</BODY></HTML>
<?
////////////////////////////////changedate////////////////////////////////////////
function changedate($date){
$y = substr($date,0,4);
$y = (integer)$y;
$y = $y+543;
$y = (string)$y;
$mouths = array( "01"=>"มกราคม","02"=>"กุมภาพันธ์","03"=>"มีนาคม",
"04"=>"เมษายน","05"=>"พฤษภาคม","06"=>"มิถุนายน",
"07"=>"กรกฏาคม","08"=>"สิงหาคม","09"=>"กันหายน",
"10"=>"ตุลาคม","11"=>"พฤศจิกายน","12"=>"ธันวาคม"
);
$m = substr($date,5,2);
$m = $mouths[$m];
$d = substr($date,8,2);
$date = $d."-".$m."-".$y;
return $date;
}
?>


ลองทำดูก้อได้น่ะคับ มันผิดตรงไหนใครรู้ไหม อ้อเกือบลืม ผมทำไฟล์ไว้อีกตัวหนึ่ง เป็นรับค่า แบบ <Select></Select> วัน เดือน ปี และ ช่องกรอกรหัสพนักงาน


ช่วนหน่อยน่ะคับ





Tag : - - - -







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 6 พ.ค. 2548 00:52:24 By : snowa View : 2686 Reply : 2
 

 

No. 1

Guest


ยาวจิงๆ






Date : 6 พ.ค. 2548 13:37:38 By : โจผีนะ
 


 

No. 2

Guest


อ่านแล้วปวดหัว
Date : 7 พ.ค. 2548 14:32:14 By : kanmanus
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ช่วยดูโค้ดให้หน่อยคับ เขียนแล้วผลไม่ไปอย่างที่หวัง
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 02
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่