ช่วยทีครับ เจอ error 500 intenal server ส่วนแสดงรูปภาพที่สร้างเป้นบาร์โค้ด (มีรูป)
แก้ไม่ถูกเลยครับ รันบนเครื่องทำงานได้ปกติ พออัพขึ้นแล้วเจอปัญหาตัวนี้ ส่วนไฟล์ที่อจ้งว่ามีปัญหาผมเอามาจากเว็บ
http://phplike.blogspot.com/2014/06/how-to-create-barcodes-in-php.html
Code (PHP)
<?php
ini_set('memory_limit', '32M'); //กำหนดขนาด memory สำหรับ pdf
include("../../../../system/config/connect.php") ;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<link href="media/css/css_card.css" rel="stylesheet" type="text/css" />
<style>
@media all
{
.page-break { display:none; }
.page-break-no{ display:none; }
.no-print{position:fixed; left:1cm;}
.no-print2{}
}
@media print
{
.page-break { display:block;height:1px; page-break-before:always; margin:0; padding:0; }
.page-break-no{ display:block;height:1px; page-break-after:avoid; }
.no-print{ display:none;}
.no-print2{ display:none;}
}
</style>
<?php
require("media/functionCards.php");
$datein = explode("-", date("Y-m-d"));
$thai_n=array("มกราคม", "กุมภาพันธ์", "มีนาคม", "เมษายน", "พฤษภาคม", "มิถุนายน", "กรกฎาคม", "สิงหาคม", "กันยายน", "ตุลาคม", "พฤศจิกายน", "ธันวาคม");
$thai_n2=array("ม.ค.", "ก.พ.", "มี.ค.", "เม.ษ.", "พ.ค.", "มิ.ย.", "ก.ค.", "ส.ค.", "ก.ย.", "ต.ค.", "พ.ย.", "ธ.ค.");
$day = date("w");
$month = date("m");
$datein[0]; //year
$datein[1]; //month
$datein[2]; //day
$d= $datein[2];
if($month == $datein[1]) { $n= $thai_n2[date("n")-1]; } elseif ($month > $datein[1]) { $n= $thai_n2[date("n")-2];} else { $n= $thai_n2[$datein[1]-1]; }
$CardSQL = "SELECT member.*, profile.IDnumber, profile.dbirth, profile.mbirth, profile.ybirth FROM member LEFT JOIN profile ON member.IDstd = profile.IDstd WHERE member.class = '".$_POST["class"]."' AND member.room = '".$_POST["room"]."' AND member.yearin = '".$_POST["yearin"]."' LIMIT 0, 6";
$QueryCard = mysql_query($CardSQL);
$ResultCard = mysql_fetch_array($QueryCard);
$y_start = $ResultCard["yearin"];
$y_end = $y_start+3;
$Cardin = "วันออกบัตร: $d $n $y_start<br>";
$Cardin2 = "$d $n $y_start<br>";
$Cardout = "วันหมดอายุ: $d $n $y_end";
$Cardout2 = "$d $n $y_end";
$NumRow = mysql_num_rows(mysql_query($CardSQL));
$sumprint = DoRow($NumRow);
?>
</head>
<body>
<div class="no-print" align="left"><div id="opa"><img src="../../images/printer.png" / title="พิมพ์" onclick="myFunction()"></div></div>
<div align="center" class="no-print2" style="left:2.5cm;"><span>ไม่แนะนำให้พิมพ์ผ่าน Internet Explorer</span></div>
<? for($sumpage=1;$sumpage<=$sumprint;$sumpage++){ ?>
<div class="page-break<?=($sumpage==1)?"-no":""?>"> </div>
<? while($ResultCard = mysql_fetch_array($QueryCard)) {?>
<!-- START GEN CARD-->
<!-- start Generate 1 Card -->
<div id="containner" align="center"><!-- start containner-->
<div id="main"><!-- start main-->
<div class="pic-resize">
<?=Dopic($ResultCard["pic"]);?>
</div>
<div id="front" class="card-resize"><!-- start front-->
<div class="CardtxtData">
<div class="styDiv" align="center"><text1><?=Dolevel($ResultCard["class"]);?></text1></div>
<div class="styDiv2"><text2><? echo "รหัสนักเรียน";?><b></b><?=$ResultCard["IDstd"];?></text2></div>
<div class="styDiv2"><text2><? echo "รหัสบัตรประชาชน";?><b></b><?=$ResultCard["IDnumber"];?></text2></div>
<div class="styDiv2"><text2><? echo "ชื่อ-นามสกุล";?><b></b><?=$ResultCard["Prefix"];?><?=$ResultCard["fname"];?><b></b><?=$ResultCard["lname"];?></text2></div>
<div class="styDiv2"><text2><? echo "วัน เดือน ปีเกิด";?><b></b><?=$ResultCard["dbirth"];?><b></b><?=$ResultCard["mbirth"];?><b></b><?=$ResultCard["ybirth"];?></text2></div>
<div class="styDiv3" align="center"><text2><? echo "( )";?></text2></div>
<div class="styDiv2" align="center"><text2><? echo "ผู้อำนาวยการโรงเรียนา";?></text2></div>
</div><img src="../template/card12.png" />
<!--<div class="CardtxtDate"><? //echo $Cardin2; echo $Cardout2;?></div>-->
</div><!-- end front-->
<div id="back" class="card-resize"><!-- start back-->
<div class="CardtxtBack" align="center">
<div class="styDiv3" align="center"><text2>โรงเรียน</text2></div>
<div class="styDiv3" align="center"><text2>SAMPRAN WITTHAYA SCHOOL</text2></div>
<div class="styDiv3"><text2>จังหวัดนครปฐม 73110</text2></div>
<div class="styDiv3"><text2>โทร.</text2></div>
<div class="styDiv2"><text2>1. บัตรนี้ใช้เฉพาะผู้เป็นเจ้าของบัตรเท่านั้น</text2></div>
<div class="styDiv2"><text2>2. ให้พกบัตรประจำตัวนี้ตลอดเวลา</text2></div>
<div class="styDiv2"><text2>3. ใช้แสดงตัวตนทุกครั้งเมื่อมีผู้เรียกตรวจ</text2></div>
<div class="styDiv2"><text2>4. สิทธิการใช้บัตรสิ้นสุดลงเมื่อพ้นสภาพการเป็นนักเรียนของโรงเรียน</text2></div>
<div class="styDiv2"><text2>5. ผู้ใดเก็บบัตรนี้ได้ โปรดนำส่งคืนโรงเรียน</text2></div>
<div class="styDiv4"><text2><div style="float:left"><? echo "วันออกบัตร";?><b></b><?=$Cardin2; ?></div><div style="float:right"><? echo "วันหมดอายุ";?><b></b><?=$Cardout2;?></div></text2></div>
<div class="styDiv4"><div class="barcode-resize"><img src="lib/php-barcode-master/barcode.php?text=<?=$ResultCard["IDstd"];?>" /></div></div>
</div>
<img src="../template/back.png" /></div><!-- end back-->
</div><!-- end main-->
</div><!-- end containner-->
<!-- end Generate 1 Card-->
<!-- END GEN CARD-->
<? } // End Loop While ?>
<? } // End For loop Gen page ?>
<script>
function myFunction() {
window.print();
}
</script>
</body>
</html>
แล้วก็มีคำถามอีกนิดครับ
Code
SELECT member.*, profile.IDnumber, profile.dbirth, profile.mbirth, profile.ybirth FROM member LEFT JOIN profile ON member.IDstd = profile.IDstd WHERE member.class = '".$_POST["class"]."' AND member.room = '".$_POST["room"]."' AND member.yearin = '".$_POST["yearin"]."' LIMIT 0, 6
จากโค้ด ผมสงสัยครับ ตรฃ LIMIT 0,6 คือ ควรจะแสดงข้อมูล 6 เรคคอร์ด ใช่มั้ยครับ แต่ผมนำมาใช้ แสดงข้อมูลบนหน้าเพจ กลับแสดงแค่ 5 ขาด เรคคอร์ดแรก
แต่ถ้านำโค้ดตัวนี้ ไปรันบน phpmyadmin เพื่อทดสอบคิวรี ก็แสดงข้อมูลออกมา 6 เรคคอร์ด ปกติ จึง งง ครับ ไม่เข้าใจ ว่าทำมั้ย บนหน้าเพจไม่แสดงเรคคอร์ดแรก
และอีกข้อคือ จากโค้ด ถ้าไม่ LIMIT จะมีข้อมูลทั้งหมด 32 เรคคอร์ด แล้วเวลาสั่งปริ้น ผมควรจะเอา page-break ไปสั่งไว้ตรงไหนดีครับ เพื่อให้แสดงหนา้ละ 4 เรคคอร์ด ที่ลองแล้วก็มี 1 เรคคอร์ด 1 หน้า ทำได้อยู่ครับTag : PHP, MySQL, HTML/CSS
ประวัติการแก้ไข 2016-05-17 03:35:35 2016-05-18 02:00:53
Date :
2016-05-17 03:20:00
By :
akkaneetha
View :
850
Reply :
4
ข้อมูลทั้งหมด 32 เรคคอร์ด แล้วเวลาสั่งปริ้น ผมควรจะเอา page-break ไปสั่งไว้ตรงไหนดีครับ เพื่อให้แสดงหนา้ละ 4 เรคคอร์ด
for($i=0;$i<32;$i++){
if($i%4 == 0){
print "ขึ้นบรรทัดใหม่";
}
}
Date :
2016-05-17 09:13:06
By :
Who am i
แก้เป็น i +1 ด้วยนะ
for($i=0;$i<32;$i++){
if(($i+1)%4 == 0){
print ($i+1)."ขึ้นบรรทัดใหม่<BR>";
}
}
Date :
2016-05-17 09:17:40
By :
Who am i
ตอนนี้แก้ปัญหาเฉพาะหน้าไปได้แล้วครับ เรื่อง error server แต่ก็ไม่ทราบสาเหตุ แค่เปลี่ยนไปใช้ตัว สร้างบาร์โค้ดตัวอื่นแทน ที่สามารถทำงานกับ server ได้
Date :
2016-05-17 22:06:01
By :
akkaneetha
Load balance : Server 01