ช่วยดูโค้ดให้ทีครับผมเขียนผิดตรงไหนรึเปล่า คือมันบอกว่า Query was empty
คือผมลอง echo ค่า $sql ดูแล้วมันว่างเปล่าจริงๆครับ คือผมผิดส่วนไหนยังไงช่วยดูให้หน่อยครับ
อันนี้หน้ากรอกข้อมูลครับ
Code (PHP)
<?
include "config.inc.php";
$id_employee= $_GET["id_employee"];
$con = mysql_connect($host,$username,$password);
if (!$con)
{ die('Could not connect: ' . mysql_error()); }
mysql_select_db($database, $con);
mysql_query("SET NAMES UTF8");
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<link rel="stylesheet" media="all" type="text/css" href="js/jquerydatepicker/jquery-ui.css" />
<link rel="stylesheet" media="all" type="text/css" href="js/jquerydatepicker/jquery-ui-timepicker-addon.css" />
<script type="text/javascript" src="js/jquerydatepicker/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="js/jquerydatepicker/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/jquerydatepicker/jquery-ui-timepicker-addon.js"></script>
<script type="text/javascript" src="js/jquerydatepicker/jquery-ui-sliderAccess.js"></script>
</head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="employee_insert_tour.php" name="frmAdd" method="post">
Select Line :
<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<?php
for($i=1;$i<=50;$i++)
{
if($_GET["Line"] == $i)
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?php echo $_SERVER["PHP_SELF"];?>?Line=<?php echo $i;?>" <?php echo $sel;?>><?php echo $i;?></option>
<?
}
?>
</select> <? echo $id_employee ?>
<table width="600" border="1">
<tr>
<th width="160"> <div align="center">ประเภทการเดินทาง</div></th>
<th width="198"> <div align="center">วันที่เดินทาง</div></th>
<th width="97"> <div align="center">รายละเอียดการเดินทาง</div></th>
<th width="70"> <div align="center">ราคา </div></th>
<th width="70"> <div align="center">จำนวน </div></th>
</tr>
<?
$line = $_GET["Line"];
if($line == 0){$line=1;}
for($i=1;$i<=$line;$i++)
{
?>
<tr>
<td><select name="id_travel<?php echo $i;?>" id="id_travel<?php echo $i;?>">
<? $result2 = mysql_query("SELECT * FROM employee_travel");
while($row2 = mysql_fetch_array($result2))
{
if($row["id_travel"] == $row2["id_travel"])
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?=$row2['id_travel']?>"<?php echo $sel;?>>
<?=$row2['type_travel']?>
</option>
<? } ?>
</select></td>
<td id="startdate">
<script type="text/javascript">
$(function(){
$("#date_travel<?php echo $i;?>").datepicker({
dateFormat: 'yy-mm-dd',
numberOfMonths: 1,
});
});
</script>
<input name="date_travel<?php echo $i;?>" type="text" id="date_travel<?php echo $i;?>" size="20"></td>
<td><div align="center">
<textarea name="detail_tour<?php echo $i;?>" cols="20" id="detail_tour<?php echo $i;?>"></textarea>
</div></td>
<td align="right"><input name="price_tour<?php echo $i;?>" type="text" id="price_tour<?php echo $i;?>" size="10"></td>
<td align="right"><input name="units<?php echo $i;?>" type="text" id="units<?php echo $i;?>" size="5"></td>
</tr>
<?
}
?>
</table>
<input type="submit" name="submit" value="submit">
<input type="hidden" name="hdnLine" value="<?php echo $i;?>">
<input name="id_employee" type="hidden" id="id_employee" value="<?php echo $id_employee;?><?php echo $i;?>">
</form>
</body>
<?
mysql_close($con);
?>
อันนี้หน้า INSERT ครับ
Code (PHP)
<?
include "config.inc.php";
$con = mysql_connect($host,$username,$password);
if (!$con)
{ die('Could not connect: ' . mysql_error()); }
mysql_select_db($database, $con);
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
if($_POST["$id_employee$i"] != "")
{
$id_travel= $_POST["id_travel$i"];
$date_travel= $_POST["date_travel$i"];
$detail_tour= $_POST["detail_tour$i"];
$price_tour= $_POST["price_tour$i"];
$units= $_POST["units$i"];
$total_tour= $_POST["total_tour$i"];
$date_save=date ("yy-mm-dd");
$sql="INSERT INTO employee_traveldetail(id_employee,id_travel,date_travel,detail_tour, price_tour,units,total_tour,status1,date_save)
VALUES('$id_employee$i','$id_travel$i','$date_travel$i', '$detail_tour$i','$price_tour$i','$units$i','total_tour$i','1','".date("yy-mm-dd")."')";
}
}
if (!mysql_query($sql,$con))
{ die('Error: ' . mysql_error()); }
header("Location: vendor_list.php");
mysql_close($con);
?>
Tag : PHP, JavaScript
Date :
2015-03-04 19:24:13
By :
narongsad
View :
1032
Reply :
26
Code (PHP)
<input name="id_employee" type="hidden" id="id_employee" value="<?php echo $id_employee;?><?php echo $i;?>">
if($_POST["$id_employee$i"] != "")
///ให้ขึ้น sql ก่อนล่ะกัน ส่วน sql ก็ยังไม่ถูกครับ
$sql="INSERT INTO employee_traveldetail(id_employee,id_travel,date_travel,detail_tour, price_tour,units,total_tour,status1,date_save)
VALUES('$id_employee$i','$id_travel$i','$date_travel$i','$detail_tour$i' ,'$price_tour$i','$units$i','total_tour$i','1','".date("yy-mm-dd")."')";
Date :
2015-03-04 20:12:15
By :
ผ่านมา
คือมันต้องยังไงอะครับ ผมงงอยู่ดี
Date :
2015-03-05 01:02:05
By :
narongsad
26.mysql_query($sql) or die(mysql_error()."\n<br />Error:[$sql]");
Date :
2015-03-05 02:51:42
By :
sakuraei
อืม....ลองไปเพิ่ม ไว้ด้านบนของ file insert ครับ จะได้เห็นว่า submit ข้อมูลอะไรมาบ้าง
Code (PHP)
echo"<pre>";
print_r($_POST);
echo"</pre>";
exit;
ผมว่า condition นี้ if($_POST["$id_employee$i "] != "") น่าจะเป็น false
เพราะใน form เป็น name เป็นแบบนี้
<input name="id_employee " type="hidden" id="id_employee" value="<?php echo $id_employee;?><?php echo $i;?>">
ปล $_POST["$id_employee "] กับ $_POST["id_employee "] ไม่เหมือนกันนะครับ
$_POST["$id_employee "] คือ $_POST["ค่าของ$id_employee "]
Date :
2015-03-05 03:20:14
By :
ผ่านมา
ค่า submit ออกมาครบทุกตัวที่ส่งมาเลยครับ
แต่ทีนี้ถ้าลองเลือกเป็นสองแถวค่า id_employee ไม่ส่งมา มันเป็นเพราะผมเอามันไปไว้นอก loop รึเปล่าครับ
ถ้าใช่ผมต้องทำยังไง คือผมอยากให้มันแสดงแค่ตัวเดียวอะครับ
Date :
2015-03-05 03:42:39
By :
narongsad
Code (PHP)
<?
include "config.inc.php";
$con = mysql_connect($host,$username,$password);
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database, $con);
for($i=1;$i<=$_POST["hdnLine"];$i++){
if($_POST["$id_employee$i"] != ""){
$id_travel= $_POST["id_travel$i"];
$date_travel= $_POST["date_travel$i"];
$detail_tour= $_POST["detail_tour$i"];
$price_tour= $_POST["price_tour$i"];
$units= $_POST["units$i"];
$total_tour= $_POST["total_tour$i"];
$date_save=date ("yy-mm-dd");
$sql= "INSERT INTO employee_traveldetail(id_employee,id_travel,date_travel,detail_tour,price_tour,units,total_tour,status1,date_save) ";
$sql.="VALUES('$id_employee$i','$id_travel$i','$date_travel$i','$detail_tour$i','$price_tour$i','$units$i','total_tour$i','1','".date("yy-mm-dd")."')";
}
$result = mysql_query($sql) or die(mysql_error()."\n<br />Error:[$sql]");
}
header("Location: vendor_list.php");
mysql_close($con);
?>
Date :
2015-03-05 07:32:54
By :
sakuraei
อ่าน คห. 5 ครับ ประกาศ ชื่อ element ไม่ถูกต้อง
Date :
2015-03-05 08:00:51
By :
Chaidhanan
ผมพอจะรู้ที่ผิดละครับ ค่าของ id_employee ของผมมันน่าจะไม่ส่งมาด้วย ละทีนี้ผมรบกวนขอคำปรึกษาเลยครับ ผมต้องส่งค่ามันมายังไงหรอครับ
Date :
2015-03-05 13:41:03
By :
narongsad
ตามที่ท่านผ่านมาแนะนำ ตาม คห.ที่ 5
คุณ narongsad เข้าใจและแก้ไขตามอย่างไรบ้างแล้วครับ
การที่ค่าจะส่งมาได้
1.ส่งค่า POST ก็ฝากตัวแปรมากับ value ของ input ถ้าไม่อยากให้ใครเห็นค่า ก็ type='hidden' ไว้
2.ส่งค่ามาในรูปของ session
3.ส่งค่ามากับ link แบบ GET
#ขอออกตัวก่อนครับ ผมเขียน code เองไม่เป็น จับ code มาโมพอทำเว็บได้ ได้แต่แนะนำ ผมจะพัฒนาฝีมือให้มากขึ้นครับ เพื่อโอกาสหน้าจะเขียน Code ให้ชัดเจนครับ - ถ้าไม่ออกตัวก่อน เด๋วโดนด่าดอีก ฮ่า ๆ ๆ
Date :
2015-03-05 13:56:27
By :
apisitp
น่าจะเอาไว้นอก loop ก็ใช้ได้แล้วครับ
Code (PHP)
if($_POST["$id_employee"] != "")
{
for($i=1;$i<=$_POST["hdnLine"];$i++)
{
ใน sql
แบบนี้ '$id_employee$i' ,'$id_travel$i' ไม่ถูกครับ
เพราะวน loop รับค่า เป็นแบบนี้แล้ว
$id_travel= $_POST["id_travel$i"];
ก็ใช้ $id_travel ไปเลยครับ
Date :
2015-03-05 14:16:42
By :
ผ่านมา
คือผมอ่าน code แล้วก็คาดเอาว่าคุณเจ้าของคำถาม เพิ่งเริ่มเขียนเลยบอกในลักษณะที่ต้องไปลองแก้ไขเอง
จะได้ลองหัดเขียนครับ
ปล. มันคือหวังดีประสงค์ร้ายครับ 55555
Date :
2015-03-05 14:31:49
By :
ผ่านมา
ถูกเลยครับผมเริ่มเขียนจริงๆ ครับแบบว่ามึนและงงมากๆ ขอบคุณทุกคนที่ให้คำแนะนำ เดี๋ยวลองแก้ดูใหม่ไม่ออกจะมาถามอีกรอบครับ
Date :
2015-03-05 14:42:28
By :
narongsad
หน้าที่ใช้กรอกฟอร์ม ผมลองเลือกมาเป็น สองแถวแล้วคีย์ข้อมูลพอกด submit ดูค่ากลับเป็นว่า ค่า ของ id_employee มันหายไป
คือผมไม่เข้าใจอยู่ดีว่าต้องส่งตัวแปรไปยังไง
Date :
2015-03-05 16:02:30
By :
narongsad
เอา Code มาฟอร์มมาโพสต์ครับ
#หมายถึงอันที่แก้ล่าสุดครับ
ประวัติการแก้ไข 2015-03-05 16:36:58
Date :
2015-03-05 16:35:38
By :
apisitp
หน้าฟอร์มครับ
Code (PHP)
<?
include "config.inc.php";
$id_employee= $_GET["id_employee"];
$con = mysql_connect($host,$username,$password);
if (!$con)
{ die('Could not connect: ' . mysql_error()); }
mysql_select_db($database, $con);
mysql_query("SET NAMES UTF8");
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
</script>
<link rel="stylesheet" media="all" type="text/css" href="js/jquerydatepicker/jquery-ui.css" />
<link rel="stylesheet" media="all" type="text/css" href="js/jquerydatepicker/jquery-ui-timepicker-addon.css" />
<script type="text/javascript" src="js/jquerydatepicker/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="js/jquerydatepicker/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/jquerydatepicker/jquery-ui-timepicker-addon.js"></script>
<script type="text/javascript" src="js/jquerydatepicker/jquery-ui-sliderAccess.js"></script>
</head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<form action="employee_insert_tour.php" name="frmAdd" method="post">
Select Line :
<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<?php
for($i=1;$i<=50;$i++)
{
if($_GET["Line"] == $i)
{
$sel = "selected";
}
else
{
$sel = "";
}
?><? echo $id_employee ?>
<option value="<?php echo $_SERVER["PHP_SELF"];?>?Line=<?php echo $i;?>" <?php echo $sel;?>><?php echo $i;?></option>
<?
}
?>
</select> <? echo $id_employee ?>
<table width="600" border="1">
<tr>
<th width="160"> <div align="center">ประเภทการเดินทาง</div></th>
<th width="198"> <div align="center">วันที่เดินทาง</div></th>
<th width="97"> <div align="center">รายละเอียดการเดินทาง</div></th>
<th width="70"> <div align="center">ราคา </div></th>
<th width="70"> <div align="center">จำนวน </div></th>
</tr>
<?
$line = $_GET["Line"];
if($line == 0){$line=1;}
for($i=1;$i<=$line;$i++)
{
?>
<tr>
<td><select name="id_travel<?php echo $i;?>" id="id_travel<?php echo $i;?>">
<? $result2 = mysql_query("SELECT * FROM employee_travel");
while($row2 = mysql_fetch_array($result2))
{
if($row["id_travel"] == $row2["id_travel"])
{
$sel = "selected";
}
else
{
$sel = "";
}
?>
<option value="<?=$row2['id_travel']?>"<?php echo $sel;?>>
<?=$row2['type_travel']?>
</option>
<? } ?>
</select></td>
<td id="startdate">
<script type="text/javascript">
$(function(){
$("#date_travel<?php echo $i;?>").datepicker({
dateFormat: 'yy-mm-dd',
numberOfMonths: 1,
});
});
</script>
<input name="date_travel<?php echo $i;?>" type="text" id="date_travel<?php echo $i;?>" size="20"></td>
<td><div align="center">
<textarea name="detail_tour<?php echo $i;?>" cols="20" id="detail_tour<?php echo $i;?>"></textarea>
</div></td>
<td align="right"><input name="price_tour<?php echo $i;?>" type="text" id="price_tour<?php echo $i;?>" size="10"></td>
<td align="right"><input name="units<?php echo $i;?>" type="text" id="units<?php echo $i;?>" size="5"></td>
</tr>
<?
}
?>
</table>
<input type="submit" name="submit" value="submit">
<input type="hidden" name="hdnLine" value="<?php echo $i;?>">
<input name="id_employee" type="hidden" id="id_employee" value="<?php echo $id_employee;?>">
</form>
</body>
<?
mysql_close($con);
?>
ส่วนINSERT
Code (PHP)
<?
include "config.inc.php";
$con = mysql_connect($host,$username,$password);
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database, $con);
mysql_query("SET NAMES UTF8");
if($_POST["$id_employee"] != "")
{
for($i=1;$i<=$_GET["hdnLine"];$i++)
{
$id_travel= $_POST["id_travel$i"];
$date_travel= $_POST["date_travel$i"];
$detail_tour= $_POST["detail_tour$i"];
$price_tour= $_POST["price_tour$i"];
$units= $_POST["units$i"];
$total_tour= $_POST["total_tour$i"];
$date_save=date ("Y-m-d");
$sql= "INSERT INTO employee_traveldetail(id_employee,id_travel,date_travel,detail_tour,price_tour,units,total_tour,status1,date_save) ";
$sql.="VALUES('$id_employee','$id_travel','$date_travel','$detail_tour','$price_tour','$units''total_tour','1','".date("Y-m-d")."')";
}
$result = mysql_query($sql) or die(mysql_error()."\n<br />Error:[$sql]");
}
header("Location: employee_ot_list.php");
mysql_close($con);
?>
ตอนนี้เป็นแบบนี้เลยครับ
Date :
2015-03-05 17:03:42
By :
narongsad
ผมจัดโค้ดให้ใหม่ครับ ลองดู
Code (PHP)
<?php
include "config.inc.php";
$id_employee= $_GET["id_employee"];
$con = mysql_connect($host,$username,$password);
if (!$con)
{ die('Could not connect: ' . mysql_error()); }
mysql_select_db($database, $con);
mysql_query("SET NAMES UTF8");
?>
<!DOCTYPE html>
<html lang="en">
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" media="all" type="text/css" href="js/jquerydatepicker/jquery-ui.css" />
<link rel="stylesheet" media="all" type="text/css" href="js/jquerydatepicker/jquery-ui-timepicker-addon.css" />
<script type="text/javascript" src="js/jquerydatepicker/jquery-1.10.2.min.js"></script>
<script type="text/javascript" src="js/jquerydatepicker/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/jquerydatepicker/jquery-ui-timepicker-addon.js"></script>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_jumpMenu(targ,selObj,restore){ //v3.0
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
if (restore) selObj.selectedIndex=0;
}
//-->
$(function(){
$(".date_travel").datepicker({
dateFormat: 'yy-mm-dd',
numberOfMonths: 1,
});
});
</script>
</head>
<body>
<form action="employee_insert_tour.php" name="frmAdd" method="post">
Select Line :
<select name="menu1" onChange="MM_jumpMenu('parent',this,0)">
<?php
for($i=1;$i<=50;$i++)
{
if($_GET["Line"] == $i)
{
$sel = "selected";
}
else
{
$sel = "";
}
echo "<option value=\"{$_SERVER["PHP_SELF"]}?Line=$i\" $sel>$i</option>\n";
}
?>
</select> <? echo $id_employee ?>
<table width="600" border="1">
<tr>
<th width="160"> <div align="center">ประเภทการเดินทาง</div></th>
<th width="198"> <div align="center">วันที่เดินทาง</div></th>
<th width="97"> <div align="center">รายละเอียดการเดินทาง</div></th>
<th width="70"> <div align="center">ราคา </div></th>
<th width="70"> <div align="center">จำนวน </div></th>
</tr>
<?php
$line = $_GET["Line"];
if($line == 0){$line=1;}
for($i=1;$i<=$line;$i++)
{
?>
<tr>
<td><select name="id_travel[]" >
<?php $result2 = mysql_query("SELECT * FROM employee_travel");
while($row2 = mysql_fetch_array($result2))
{
echo "<option value=\"{$row2['id_travel']}\">{$row2['type_travel']}</option>\n";
} ?>
</select></td>
<td id="startdate">
<input name="date_travel[]" type="text" class="date_travel" size="20"></td>
<td><div align="center">
<textarea name="detail_tour[]" cols="20" class="detail_tour"></textarea>
</div></td>
<td align="right"><input name="price_tour[]" type="text" class="price_tour" size="10"></td>
<td align="right"><input name="units[]" type="text" class="units" size="5"></td>
</tr>
<?
}
?>
</table>
<input type="submit" name="submit" value="submit">
<input type="hidden" name="hdnLine" value="<?php echo $i;?>">
<input name="id_employee" type="hidden" id="id_employee" value="<?php echo $_GET["id_employee"]; ?>">
</form>
</body>
<?
mysql_close($con);
?>
ส่วน INSERT
<?
include "config.inc.php";
$con = mysql_connect($host,$username,$password);
if (!$con){
die('Could not connect: ' . mysql_error());
}
mysql_select_db($database, $con);
mysql_query("SET NAMES UTF8");
if(isset($_POST["id_employee"]) && trim($_POST["id_employee"]) != "" )
{
foreach($_POST["id_travel"] as $index => $id_travel)
{
$date_travel= $_POST["date_travel"][$index];
$detail_tour= $_POST["detail_tour"][$index];
$price_tour= $_POST["price_tour"][$index];
$units= $_POST["units"][$index];
//$total_tour= $_POST["total_tour"][$index];
$date_save=date ("Y-m-d");
$sql= "INSERT INTO employee_traveldetail(id_employee,id_travel,date_travel,detail_tour,price_tour,units,total_tour,status1,date_save) ";
$sql.="VALUES('{$_POST["id_employee"]}','$id_travel','$date_travel','$detail_tour','$price_tour','$units''total_tour','1','".date("Y-m-d")."')";
$result = mysql_query($sql) or die(mysql_error()."\n<br />Error:[$sql]");
}
}
mysql_close($con);
header("Location: employee_ot_list.php");
?>
Date :
2015-03-05 17:54:54
By :
sakuraei
eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"&id_employee=<?php echo $_GET["id_employee"];?> ' ");
เพื่มเข้าไปครับ
Date :
2015-03-05 18:33:41
By :
sakuraei
ลองศึกษาเกี่ยวกับตัวแปรประเภท อาร์เรย์ ดูครับ และวิธีการดึงค่าจากอาร์เรย์มาใช้งาน
ในกรณีนี้คือ foreach ครับ
Date :
2015-03-05 18:51:50
By :
sakuraei
ขอบคุณทุกความคิดเห็นที่ช่วยผมมากๆน่ะครับ
Date :
2015-03-05 19:17:09
By :
narongsad
Load balance : Server 03