|
|
|
[ขอคำแนะนำครับ] ส่งค่าไปเขียนข้อมูลลงฐานข้อมูลไม่ครบ เขียนได้บางส่วนเท่านั้น. |
|
|
|
|
|
|
|
มีที่กำหนด ขนาด หรือ จำนวน array ที่สามารถใช้ได้ต่อ 1 page มั้ยครับ.
|
|
|
|
|
Date :
2014-06-14 13:57:26 |
By :
secure4th |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ตอนส่งข้อมูล ลอง print_r ดูหรือยังครับ ว่ามาครบหรือไม่
|
|
|
|
|
Date :
2014-06-14 15:10:29 |
By :
deawx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ไม่ครบคับ ส่งข้อมูล POST ไป ได้ถึงบรรทัดที่ 30 ข้อมูลก็หายไปเลย
คือผมลองกรอก 3 ไปทุกช่อง
|
|
|
|
|
Date :
2014-06-14 18:15:43 |
By :
secure4th |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาโค้ดมาดูดีรกว่าครับ
มันต้องมีอะไรผิดพลาดแน่นอนหละผมว่า
|
|
|
|
|
Date :
2014-06-14 19:17:46 |
By :
deawx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
mysql_select_db($database_mysql, $mysql);
$query_getclass = "SELECT * FROM `d_regtclassroom` WHERE `TermID`='$TermID' and `AcademicYear`='$AcademicYear' and `ClassID`='$ClassID' and `RoomID`='$RoomID' and ActiveStatus=1 order by OrderNumber";
$getclass = mysql_query($query_getclass, $mysql) or die(mysql_error());
$row_getclass = mysql_fetch_assoc($getclass);
$totalRows_getclass = mysql_num_rows($getclass);
if($totalRows_getclass>0){
$i=0;
do{
$PersonID=$row_getclass['PersonID'];
mysql_select_db($database_mysql, $mysql);
$query_getuser = "SELECT * FROM d_combperson WHERE PersonID = '$PersonID'";
$getuser = mysql_query($query_getuser, $mysql) or die(mysql_error());
$row_getuser = mysql_fetch_assoc($getuser);
$totalRows_getuser = mysql_num_rows($getuser);
?>
<tr <?php if($i%2==0){echo "bgcolor='#EBEBEB'";} ?>>
<td align="center"><?php echo $row_getclass['OrderNumber'];?></td>
<td align="center"><?php echo $PersonCode=$row_getuser['PersonCode'];?></td>
<td align="left">
<?php
mysql_select_db($database_mysql, $mysql);
$query_getPrefix = "SELECT * FROM d_combprefix WHERE PrefixID = '".$row_getuser['PrefixID']."'";
$getPrefix = mysql_query($query_getPrefix, $mysql) or die(mysql_error());
$row_getPrefix = mysql_fetch_assoc($getPrefix);
$totalRows_getPrefix = mysql_num_rows($getPrefix);
echo $row_getPrefix['PrefixSName']." ".$row_getuser['FirstName']." ".$row_getuser['LastName']
?>
<?php
mysql_select_db($database_mysql, $mysql);
$query_getregis = "SELECT * FROM `d_regmregister` WHERE `TermID`='$TermID' and `AcademicYear`='$AcademicYear' and PersonCode = '".$row_getuser['PersonCode']."' and `SubjectCode`='$SubjectCode'";
$getregis = mysql_query($query_getregis, $mysql) or die(mysql_error());
$row_getregis = mysql_fetch_assoc($getregis);
$totalRows_getregis = mysql_num_rows($getregis);
$mark=0;
if($totalRows_getregis>0){
$mark=1;
}
mysql_select_db($database_mysql, $mysql);
$query_getscore = "SELECT * FROM `d_regdesired` WHERE `TermID`='$TermID' and `AcademicYear`='$AcademicYear' and PersonCode = '".$row_getuser['PersonCode']."' and `SubjectCode`='$SubjectCode'";
$getscore = mysql_query($query_getscore, $mysql) or die(mysql_error());
$row_getscore = mysql_fetch_assoc($getscore);
$totalRows_getscore = mysql_num_rows($getscore);
$checkin=0;
if($totalRows_getscore>0){
$checkin=1;
}
?>
<span style="min-width:45px">
<input name="checkin[]" type="hidden" id="checkin" value="<?php echo $checkin; ?>">
<input name="PersonCode[]" type="hidden" id="PersonID" value="<?php echo $PersonCode; ?>">
</span></td>
<?php
for($y=1;$y<=30;$y++){
?>
<td align="center" style="min-width:45px">
<?php if($mark==1){?>
<input name="<?php echo "score".$i;?>[]" type="text" class="form-control" id="<?php echo "score".$i."_".$y;?>" style="text-align:left;background-color:#FFC" value="<?php echo $row_getscore["s".$y];?>" size="1" maxlength="1" required onKeyPress="JavaScript:checkgrade(<?php echo $i.",".$y;?>);" onKeyUp="JavaScript:checkgrade(<?php echo $i.",".$y;?>);" rel="tooltip" title="<?php echo $row_getPrefix['PrefixSName']." ".$row_getuser['FirstName']." ".$row_getuser['LastName']; ?>">
<?php }else{ ?>
<input name="<?php echo "score".$i;?>[]" type="text" class="form-control" id="<?php echo "score".$i."_".$y;?>" style="text-align:left;background-color:#FC0" value="<?php echo $row_getscore["s".$y];?>" size="1" maxlength="1" rel="tooltip" title="<?php echo $row_getPrefix['PrefixSName']." ".$row_getuser['FirstName']." ".$row_getuser['LastName']; ?>">
<?php } ?></td>
<?php } ?>
<td align="center"><input name="grade[]" type="text" required class="form-control" id="grade<?php echo $i;?>" style="text-align:center;background-color:#0F9" size="3" maxlength="3" value="<?php echo $row_getscore["result"];?>" readonly></td>
</tr>
<?php
$i++;
}while($row_getclass = mysql_fetch_assoc($getclass));
?>
<input id="maxy" name="maxy" type="hidden" value="<?php echo $y; ?>">
<input id="maxi" name="maxi" type="hidden" value="<?php echo $i; ?>">
<?php
}else{
?>
<tr>
<td colspan="34" align="center">-ไม่มีข้อมูล-</td>
</tr>
<?php }
?>
</table>
<center>
<br>
<input name="add" type="submit" id="add2" value="บันทึกข้อมูล" class="btn btn-primary btn-lg">
</center>
</form>
<!-- End Content-->
</div>
</div>
</body>
</html>
<script src="../../dist/js/bootstrap.min.js"></script>
|
|
|
|
|
Date :
2014-06-14 19:37:31 |
By :
secure4th |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
<?php
session_start();
require_once('../../Connections/mysql.php');
$SubjectCode=$_POST['SubjectCode'];
$TermID=$_POST['TermID'];
$AcademicYear=$_POST['AcademicYear'];
$ClassID=$_POST['ClassID'];
$SubjectID=$_POST['SubjectID'];
$RoomID=$_POST['RoomID'];
$PersonID=$_SESSION['userid'];
$date=date('d-m-Y H:i:s');
$no=30;
for($i=0;$i<count($_POST["PersonCode"]);$i++)
{
$PersonCode=$_POST["PersonCode"][$i];
$checkin=$_POST['checkin'][$i];
$result=$_POST['grade'][$i];
$Score=array();
for($j=0;$j<$no;$j++)
{
$Score[$j]=$_POST["score".$i][$j];
}
mysql_select_db($database_mysql, $mysql);
if($checkin==1){
$sqlinsert="UPDATE d_regdesired SET s1='".$Score[0]."',s2='".$Score[1]."',s3='".$Score[2]."',s4='".$Score[3]."',s5='".$Score[4]."',s6='".$Score[5]."',s7='".$Score[6]."',s8='".$Score[7]."',s9='".$Score[8]."',s10='".$Score[9]."',s11='".$Score[10]."',s12='".$Score[11]."',s13='".$Score[12]."',s14='".$Score[13]."',s15='".$Score[14]."',s16='".$Score[15]."',s17='".$Score[16]."',s18='".$Score[17]."',s19='".$Score[18]."',s20='".$Score[19]."',s21='".$Score[20]."',s22='".$Score[21]."',s23='".$Score[22]."',s24='".$Score[23]."',s25='".$Score[24]."',s26='".$Score[25]."',s27='".$Score[26]."',s28='".$Score[27]."',s29='".$Score[28]."',s30='".$Score[29]."',result='$result',PersonID='$PersonID',dateadd='$date' WHERE `TermID`='$TermID' and `AcademicYear`='$AcademicYear' and PersonCode = '$PersonCode' and `SubjectCode`='$SubjectCode'";
}else{
$sqlinsert="INSERT INTO d_regdesired (TermID,AcademicYear,SubjectCode,PersonCode,s1,s2,s3,s4,s5,s6,s7,s8,s9,s10,s11,s12,s13,s14,s15,s16,s17,s18,s19,s20,s21,s22,s23,s24,s25,s26,s27,s28,s29,s30,result,PersonID,dateadd) Values ('$TermID','$AcademicYear','$SubjectCode','$PersonCode','".$Score[0]."','".$Score[1]."','".$Score[2]."','".$Score[3]."','".$Score[4]."','".$Score[5]."','".$Score[6]."','".$Score[7]."','".$Score[8]."','".$Score[9]."','".$Score[10]."','".$Score[11]."','".$Score[12]."','".$Score[13]."','".$Score[14]."','".$Score[15]."','".$Score[16]."','".$Score[17]."','".$Score[18]."','".$Score[19]."','".$Score[20]."','".$Score[21]."','".$Score[22]."','".$Score[23]."','".$Score[24]."','".$Score[25]."','".$Score[26]."','".$Score[27]."','".$Score[28]."','".$Score[29]."','$result','$PersonID','$date')";
}
mysql_query($sqlinsert) or die("<script>alert('บันทึกข้อมูลไม่ได้...!');history.back();</script>");
}
echo "<script>alert('บันทึกเรียบร้อย.');</script>";
echo "<script>window.location='managedesired_big.php?TermID=$TermID&AcademicYear=$AcademicYear&ClassID=$ClassID&RoomID=$RoomID&SubjectID=$SubjectID'</script>";
?>
|
|
|
|
|
Date :
2014-06-14 19:38:06 |
By :
secure4th |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อาการเหมือน array เก็บข้อมูลเต็มอะไรประมาณนี้ครับ เป็นไปได้มะครับ
|
|
|
|
|
Date :
2014-06-14 19:39:51 |
By :
secure4th |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เป็นไปได้ครับ แต่แปลกที่ของท่านไม่แสดง ERROR ออกมา
array ไม่เต็มหรอกครับ แต่ว่า ค่าที่ตั้งไว้สูงสุดในการรับ input ของท่านอาจจะตั้งค่าไว้น้อยเกินไป อาจไม่รองรับ Big Form ที่ท่านเขียน
อย่าง 40 แถว 30 คอลัม = 1200 input แล้ว
ลองไปเปิด php.ini ของท่านนะครับว่า ได้ตั้งค่า max_input_vars ไว้สูงสุดที่เท่าใหร่
แล้วให้แก้ไข ให้มากกว่าฟอร์มที่ท่านมี น่าจะได้นะครับ
อีกวิธีหนึ่งคือ ใช้ไฟล์ .htaccess ใส่ค่าเพิ่มไปเลย
Code (PHP)
php_value max_input_vars 2000
php_value suhosin.post.max_vars 2000
php_value suhosin.request.max_vars 2000
พอดีผมหาระบบ SAR ONLINE ที่ผมเคยเขียนไว้ ไม่เจอ ไม่รู้ไปซุกไว้ที่ใหน ว่าจะอัปโหลดให้ดูเป็นตัวอย่าง
คงต้องได้ไปรื้อหาในชั้น (รก ๆ อีกแล้ว) อีกสักครั้ง .
deawx
[email protected]
ปรึกษา php ฟรีจ้า
|
ประวัติการแก้ไข 2014-06-15 01:59:10
|
|
|
|
Date :
2014-06-15 01:50:27 |
By :
deawx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อันนี้ ตัวอย่างที่ผมทดลอง
Code (PHP)
<?php
$op = empty($_REQUEST['op']) ? "" : $_REQUEST['op'];
if ($op == "") {
?>
<form id="form1" name="form1" method="post" action="testarray.php?op=save">
<button class="btn" type="submit" name="submit" id="button"><i class="cus-database-go"></i> Add</button>
<button class="btn" type="button" name="reset" id="reset" onclick="resetfrm(this.form)"><i class="cus-arrow-rotate-anticlockwise"></i> Reset</button>
<table class="tbl-border" cellpadding="0" cellspacing="1" width="100%">
<?php
for ($i=1;$i<=40;$i++){
?>
<tr>
<td width="15%" class="tbl2">หัวข้อที่ <?=$i?></td>
<?php
for ($q=1;$q<=30;$q++){
?> <td class="tbl1" style="white-space: nowrap; width:auto;"><div align="center"><input name="text[<?=$i?>][<?=$q?>]" type="text" value="3" size="3" style="text-align:center; font-weight:bold; color:#009;" /></div></td><?php
}
?>
</tr>
<?php
}
?>
</table>
</form>
<?php
} else if ($op == "save") {
$t = $_REQUEST['text'];
echo "จำนวนแถว ".count($t)."<hr>"; # นับจำนวนแถว
echo "<pre>"; print_r($_REQUEST); echo "</pre>";
exit();
}
?>
|
|
|
|
|
Date :
2014-06-15 01:52:45 |
By :
deawx |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอบคุณมากๆ ครับ จะลองทำตามดูนะครับ ^^"
|
|
|
|
|
Date :
2014-06-15 09:49:03 |
By :
secure4th |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ได้แล้วครับ จริงๆ ด้วย ขอบคุณครับ
|
|
|
|
|
Date :
2014-06-15 09:53:26 |
By :
secure4th |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Date :
2014-06-15 10:21:56 |
By :
mr.win |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|