ช่วยแก้โค๊ดให้สั้นๆ หน่อยได้ไหมค่ะ มันเป็นการทำซ้ำไปเลื่อยๆอะค่ะ
Code (PHP)
if ($max2 > $maxDB){
$max3 = $max2 - $maxDB1;
$max = array($max1,$max1,$max3);
}
else if ($max3 > $maxDB){
$max4 = $max3 - $maxDB1;
$max = array($max1,$max1,$max1,$max4);
}
else if ($max4 > $maxDB){
$max5 = $max4 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max5);
}
else if ($max5 > $maxDB){
$max6 = $max5 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max1,$max6);
}
else if ($max6 > $maxDB){
$max7 = $max6 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max1,$max1,$max7);
}
else if ($max7 > $maxDB){
$max8 = $max7 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max1,$max1,$max1,$max8);
}
โค๊ดเป็นแบบนี้ค่ะ ไม่รู้ว่ามันจะเขียนแบบย่อๆได้ไหมค่ะ ยังไงช่วยด้วยค่ะ หนูไปไม่เป้นแล้วค่ะTag : PHP, HTML/CSS, Windows
Date :
2012-08-19 15:06:40
By :
demoo
View :
993
Reply :
13
$max2 คือ array ที่มีตัวแปล 2 ตัว
$max3 คือ array ที่มีตัวแปล 3 ตัว
ใช่มั้ยครับ
Date :
2012-08-19 15:21:50
By :
nontadech
ค่ะ
Date :
2012-08-20 07:39:27
By :
demoo
มีใครพอรู้แนวทางแก้ไขไมค่ะ ^^
Date :
2012-08-20 13:55:24
By :
demoo
มันก็ได้แค่นี้แหละคับ ไม่ทราบว่าจะเอาไปย่อทำไมคับ เหตุผล?
Date :
2012-08-20 14:01:08
By :
ichiko
บางอย่างย่อแล้วมันจะทำให้เขียนยาก ดูยาก เกิด bug ง่าย ก็เขียน ๆ ให้มันใช้งานได้ก็พอแล้วครับ
Date :
2012-08-20 14:04:03
By :
mr.win
ก็ถ้ามี Array เป็น 100 กว่าตัว หนูก็ต้องสร้างโค๊ดยาวเลยซิค่ะ
เพราะมันต้องเขียนให้สั้นจริงๆ เพื่อป้องกันบัคที่จะเกิดขึ้นได้ค่ะ
คือเอาง่ายๆ ถ้าหนูมี ค่า
a = 30 คือค่า Maximum ที่กำหนดไว้ใน Database
แล้วให้กรอก b เข้ามา สมมุติกรอก แค่ 50
b = 50
c = b-a = 50-30 = 20 (ค่านี้ห้ามเกิน Maximum ถ้าเกินให้ไปตรวจสอบขั้นถัดไปค่ะ)
array [a,c]
ต่อไปถ้ากรอก b มาสัก 500 มันก็บัคแล้วค่ะ เพราะโปแกรมเราเขียนไว้แค่นั้นค่ะ
ช่วยด้วยนะค่ะ หาแนวทางมาก็ได้ค่ะ
Date :
2012-08-20 14:52:52
By :
demoo
ขออีกทีชัดๆ ขอทราบหลักการหน่อยว่าจะให้ทำแบบไหน แล้วให้มันออกมาแบบไหนอ่านละงงอ่ะ ขอแบบละเอียดเร
เด๋วจัดให้
Date :
2012-08-20 15:09:12
By :
ichiko
ถ้าหนูกรอกข้อมูล จำนวนสัก 50 ลงในช่อง Quantity
Max ทั้ง 2 ID อยู่ที่ 34 และ 20 ตามลำดับ
เพราะฉนั้นเมื่อกด Calculate แล้วหน้าต่อไปจะต้องมี 5 ตาราง
มาดูตัวอย่างก่อนนะค่ะ เมื่อเรากด Calculate เป็นรูปที่ย่อจาก Browser ค่ะ
ที่แรกเรากำหนด Maximum อยู่ที่ 34 , 20 ตามลำดับ เมื่อเรากรอกจำนวนที่เราต้องการมามันก็จะมาคำนวนตามเงื้อนไขนี้
เอาง่ายๆค่ะ ถ้าเรากรอกค่าที่มากกว่า Maximum โปรแกรมก็ต้องคำนวนได้ว่าค่านั้นต้องน้อยกว่า Maximum จริงๆ
Code (PHP)
if ($quantity > $maxDB){
$max1 = $maxDB;
$max2 = ($quantity - $maxDB);
$max = array($max1,$max2);
$maxDB1 = $row['max'];
if ($max2 > $maxDB){
$max3 = $max2 - $maxDB1;
$max = array($max1,$max1,$max3);
}
else if ($max3 > $maxDB){
$max4 = $max3 - $maxDB1;
$max = array($max1,$max1,$max1,$max4);
}
else if ($max4 > $maxDB){
$max5 = $max4 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max5);
}
else if ($max5 > $maxDB){
$max6 = $max5 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max1,$max6);
}
else if ($max6 > $maxDB){
$max7 = $max6 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max1,$max1,$max7);
}
else if ($max7 > $maxDB){
$max8 = $max7 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max1,$max1,$max1,$max8);
}
}else{
$max = $row['max'];
อันนี้เป็นCode หน้าที่จะใช้จริงๆค่ะ ขอบตุณทุกคนที่คอยให้ความช่วยเหลือนะค่ะ
Code (PHP)
<center><p><img src="/exam/****.png" width="249" height="46" /></p></center>
<?
require_once("include/connect.php");
dbconn(false);
$res = mysql_query("SELECT * FROM cut_file,material WHERE cut_file.part_number = '$part_number' and cut_file.material = material.name_material") or sqlerr();
while ($row = mysql_fetch_assoc($res)){
$id = $row['id'];
$part_number1 = $row['part_number'];
$material = $row['material'];
$m_description = $row['m_description'];
$name_cut = $row['name_cut'];
$maxDB = $row['max'];
$length = $row['length'];
$DateResultNow=date("Y-m-d H:i:s", mktime(date("H"), date("i")+0, date("s")+0, date("m")+0 , date("d")+0, date("Y")+0));
if ($quantity > $maxDB){
$max1 = $maxDB;
$max2 = ($quantity - $maxDB);
$max = array($max1,$max2);
$maxDB1 = $row['max'];
if ($max2 > $maxDB){
$max3 = $max2 - $maxDB1;
$max = array($max1,$max1,$max3);
}
else if ($max3 > $maxDB){
$max4 = $max3 - $maxDB1;
$max = array($max1,$max1,$max1,$max4);
}
else if ($max4 > $maxDB){
$max5 = $max4 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max5);
}
else if ($max5 > $maxDB){
$max6 = $max5 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max1,$max6);
}
else if ($max6 > $maxDB){
$max7 = $max6 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max1,$max1,$max7);
}
else if ($max7 > $maxDB){
$max8 = $max7 - $maxDB1;
$max = array($max1,$max1,$max1,$max1,$max1,$max1,$max1,$max8);
}
for($i=0;$i<=sizeof($max)-1;$i++){
$it = $i+1;
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620" />
<title>Report</title>
</head>
<body>
<div align="center">
<p> </p>
<p> </p>
<table width="641" height="74" border="1">
<tr>
<td width="57" height="34"><div align="center">ลำดับที่</div></td>
<td width="136"><div align="center">Work Order</div></td>
<td width="86"><div align="center">จำนวน</div></td>
<td width="334"><div align="center">Part number</div></td>
<td width="200"><div align="center">Time</div></td>
</tr>
<tr>
<td height="32"><div align="center"><?print ("$it/".sizeof($max)."");?></div></td>
<td><div align="center"><?=$work_order?></div></td>
<td><div align="center"><?print ("$max[$i]/$quantity");?></div></td>
<td><div align="center"><?=$part_number1?></div></td>
<td><div align="center"><?=$DateResultNow?></div></td>
</tr>
</table>
<p> </p>
<table width="1011" height="99" border="1">
<tr>
<th width="101" height="47" scope="col"><div align="center">M.Number </div></th>
<th width="122" scope="col"><div align="center">M.Description</div></th>
<th width="100" scope="col"><div align="center">File.Cut</div></th>
<th width="41" scope="col"><div align="center">Block</div></th>
<th width="76" scope="col"><div align="center">จำนวนชั้น</div></th>
<th width="96" scope="col"><div align="center">ความยาวชั้น</div></th>
<th width="108" scope="col"><div align="center">C/S ต่อ 1 Block</div></th>
<th width="135" scope="col"><div align="center">ความยาวต่อ 1 ชั้น</div></th>
<th width="99" scope="col"><div align="center">จำนวนที่เสร็จ</div></th>
<th width="106" scope="col"><div align="center">ความยาวรวม</div></th>
</tr>
<tr>
<td height="46"><div align="center"><?=$material?></div></td>
<td><div align="center"><?=$m_description?></div></td>
<td><div align="center"><?=$name_cut?></div></td>
<td><div align="center"><?=$id?></div></td>
<td><div align="center"><?=$id?></div></td>
<td><div align="center"><?=$id?></div></td>
<td><div align="center"><?=$id?></div></td>
<td><div align="center"><?=$length?></div></td>
<td><div align="center"><?=$max[$i]?></div></td>
<td><div align="center"><?=$length?></div></td>
</tr>
</table>
<p> </p>
<table width="928" height="108" border="1">
<tr>
<th width="109" scope="col"><div align="center">งาน</div></th>
<th width="72" scope="col"><div align="center">เริ่ม</div></th>
<th width="96" scope="col"><div align="center">เสร็จ</div></th>
<th width="93" scope="col"><div align="center">วันที่</div></th>
<th width="233" scope="col"><div align="center">ผู้ปฏิบัติงาน</div></th>
<th width="59" scope="col"><div align="center">กะ</div></th>
<th width="220" scope="col"><div align="center">QC</div></th>
</tr>
<tr>
<td><div align="center">ปูผ้า</div></td>
<td width="100" scope="col"><div>.</div></td>
<td width="100" scope="col"><div>.</div></td>
<td width="100" scope="col"><div>.</div></td>
<td><div>.</div></td>
<td><div>.</div></td>
</tr>
<tr>
<td><div align="center">ตัดผ้า</div></td>
<td><div>.</div></td>
<td><div>.</div></td>
<td><div>.</div></td>
<td><div>.</div></td>
<td><div>.</div></td>
</tr>
</table>
</div>
<p align="center"> </p>
<p align="center">Comment : .............................................................................................................................................................................. </p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
</body>
</html>
<?
}
}else{
$max = $row['max'];
?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=TIS-620" />
<title>Report</title>
</head>
<body>
<div align="center">
<p> </p>
<p> </p>
<table width="641" height="74" border="1">
<tr>
<td width="57" height="34"><div align="center">ลำดับที่</div></td>
<td width="136"><div align="center">Work Order</div></td>
<td width="86"><div align="center">จำนวน</div></td>
<td width="334"><div align="center">Part number</div></td>
<td width="200"><div align="center">Time</div></td>
</tr>
<tr>
<td height="32"><div align="center">1/1</div></td>
<td><div align="center"><?=$work_order?></div></td>
<td><div align="center"><?print ("$quantity/$quantity");?></div></td>
<td><div align="center"><?=$part_number1?></div></td>
<td><div align="center"><?=$DateResultNow?></div></td>
</tr>
</table>
<p> </p>
<table width="1011" height="99" border="1">
<tr>
<th width="101" height="47" scope="col"><div align="center">M.Number </div></th>
<th width="122" scope="col"><div align="center">M.Description</div></th>
<th width="100" scope="col"><div align="center">File.Cut</div></th>
<th width="41" scope="col"><div align="center">Block</div></th>
<th width="76" scope="col"><div align="center">จำนวนชั้น</div></th>
<th width="96" scope="col"><div align="center">ความยาวชั้น</div></th>
<th width="108" scope="col"><div align="center">C/S ต่อ 1 Block</div></th>
<th width="135" scope="col"><div align="center">ความยาวต่อ 1 ชั้น</div></th>
<th width="99" scope="col"><div align="center">จำนวนที่เสร็จ</div></th>
<th width="106" scope="col"><div align="center">ความยาวรวม</div></th>
</tr>
<tr>
<td height="46"><div align="center"><?=$material?></div></td>
<td><div align="center"><?=$m_description?></div></td>
<td><div align="center"><?=$name_cut?></div></td>
<td><div align="center"><?=$id?></div></td>
<td><div align="center"><?=$id?></div></td>
<td><div align="center"><?=$id?></div></td>
<td><div align="center"><?=$id?></div></td>
<td><div align="center"><?=$length?></div></td>
<td><div align="center"><?=$quantity?></div></td>
<td><div align="center"><?=$length?></div></td>
</tr>
</table>
<p> </p>
<table width="928" height="108" border="1">
<tr>
<th width="109" scope="col"><div align="center">งาน</div></th>
<th width="72" scope="col"><div align="center">เริ่ม</div></th>
<th width="96" scope="col"><div align="center">เสร็จ</div></th>
<th width="93" scope="col"><div align="center">วันที่</div></th>
<th width="233" scope="col"><div align="center">ผู้ปฏิบัติงาน</div></th>
<th width="59" scope="col"><div align="center">กะ</div></th>
<th width="220" scope="col"><div align="center">QC</div></th>
</tr>
<tr>
<td><div align="center">ปูผ้า</div></td>
<td width="100" scope="col"><div>.</div></td>
<td width="100" scope="col"><div>.</div></td>
<td width="100" scope="col"><div>.</div></td>
<td><div>.</div></td>
<td><div>.</div></td>
</tr>
<tr>
<td><div align="center">ตัดผ้า</div></td>
<td><div>.</div></td>
<td><div>.</div></td>
<td><div>.</div></td>
<td><div>.</div></td>
<td><div>.</div></td>
</tr>
</table>
</div>
<p align="center"> </p>
<p align="center">Comment : .............................................................................................................................................................................. </p>
<p align="center"> </p>
<p align="center"> </p>
<p align="center"> </p>
</body>
</html>
<?}}?>
<BODY onLoad="window.print()">
ประวัติการแก้ไข 2012-08-20 15:36:33
Date :
2012-08-20 15:34:40
By :
demoo
หนูอธิบายไว้เข้าใจไหมค่ะ
Date :
2012-08-21 07:48:24
By :
demoo
เก็บลง db
Date :
2012-08-21 08:12:19
By :
ผ่านมา
Code (PHP)
if ($quantity > $maxDB){
$check = true;
$max1 = $quantity - $maxDB;
$count = 0;
$maxDB1 = $row['max'];
while($check)
{
if ($max1 > $maxDB)
{
$max1 = $max1 - $maxDB1;
$count++;
}
else
{
$check = false;
}
}
for($i = 0;$i < $count)
{
$max() = $maxDB;
}
$max() = $max1;
}
else
..
น่าจะประมานนี้มั้งคับ
Date :
2012-08-21 09:39:45
By :
ichiko
ขอบคุณมากค่ะ ได้แล้วค่ะ ขอบคุณ คุณ bbuay_ มากๆนะค่ะ
Date :
2012-08-21 10:38:26
By :
demoo
Load balance : Server 00