การดึงเอาตัวแปลจากอีกหน้า From 1 มาใช้กับหน้า from อื่นๆงะครับ
ถ้าใช้ Form ก็ให้ส่งค่าผ่าน Hidden ครับ
Date :
2011-04-04 12:02:44
By :
webmaster
input hidden หละครับ ดีสุดแล้ว
Date :
2011-04-04 12:32:58
By :
LindyFralin
คือหน้า From มันจะมีการ add update delete ด้วยงะครับซึ่งเวลากดแก้ไขอะไรแล้วมันจะรีใหม่ ซึ่งพอมันรีใหม่แล้ว ค่าที่เรา post มามันก็จะเป็นค่าว่างไปงะครับแบบไม่มีตัวแปลซึ่งจุดนั้นคือปัญหาครับ ช่วยลองหาวิธีแก้ไขให้หน่อยนะครับติดอยู่จุดนี้งะครับ พอประกาศ session มันก็ประกาศไม่ได้อีกดันขึ้นว่า
Warning: session_start() [function.session-start]: Cannot send session cookie - headers already sent by (output started at C:\AppServ\www\project_maintid\inputmaintid.php:6) in C:\AppServ\www\project_maintid\inputmaintid.php on line 7
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at C:\AppServ\www\project_maintid\inputmaintid.php:6) in C:\AppServ\www\project_maintid\inputmaintid.php on line 7
แบบนี้งะครับ งงมากเลยครับ ขอบคูณครับที่ตอบ ขออีกคำตอบนะครับ เดียวจะลองอธิบายให้ระเอียดอีกที ครับ
Date :
2011-04-05 08:27:24
By :
brightvirus
ซึ่งหน้าแรกของผมจะเป็นยังงี้ครับ Code (PHP)
<select name="maintid">
<option value=""><-- Please Select MaintID --></option>
<?
$strSQL = "SELECT * FROM tb_maintid ORDER BY maintid ASC";
mysql_query("set NAMES tis620");
$objQuery = mysql_query($strSQL);
while($objResuut = mysql_fetch_array($objQuery))
{
?>
<option value="<?=$objResuut["maintid"];?>">
<?=$objResuut["maintid"];?>
</option>
</select>
ซึ่งผมให้ตัวแปลเป็น maintid ซึ่งจะส่งค่าเป็นแบบ post ไป
ต่อไปอีกหน้า 1 ครับจะเป้นหน้าที่จะแอสดงค่าข้อมูลของ maintid ที่เราเลือกในหน้าแรกครับ
Code (PHP)
<body>
<?
$maint_id=$_POST[maintid];
?>
<p>
<?
$objConnect = mysql_connect("localhost","root","eit-cete") or die("Error Connect to Database");
$objDB = mysql_select_db("db_mainproject");
//*** Add Condition ***//
if($_POST["hdnCmd"] == "Add")
{
$strSQL = "INSERT INTO tb_rx ";
$strSQL .="(no,freq,ms,func,osctype,assetno,errind,erradj,oscind,oscadj,rfagc,levelind,leveladj,sinadind,sinadadj,agc,distn,rssiind,rssiadj,rssiidle,sqind,sqadj,maint_id) ";
$strSQL .="VALUES ";
$strSQL .="('".$_POST["txtAddno"]."' ";
$strSQL .=",'".$_POST["txtAddFreq"]."','".$_POST["txtAddM/S"]."' ";
$strSQL .=",'".$_POST["txtfunc"]."','".$_POST["txtosc"]."' ";
$strSQL .=",'".$_POST["txtAddassetno"]."','".$_POST["txtAdderrind"]."' ";
$strSQL .=",'".$_POST["txtAdderradj"]."','".$_POST["txtAddoscind"]."' ";
$strSQL .=",'".$_POST["txtAddoscadj"]."','".$_POST["txtAddrfagc"]."' ";
$strSQL .=",'".$_POST["txtAddlevelind"]."','".$_POST["txtAddleveladj"]."' ";
$strSQL .=",'".$_POST["txtAddsinadind"]."','".$_POST["txtAddsinadadj"]."' ";
$strSQL .=",'".$_POST["txtAddagc"]."','".$_POST["txtAdddistn"]."' ";
$strSQL .=",'".$_POST["txtAddrssiind"]."','".$_POST["txtAddrssiadj"]."' ";
$strSQL .=",'".$_POST["txtAddrssiidle"]."','".$_POST["txtAddsqind"]."' ";
$strSQL .=",'".$_POST["txtAddsqadj"]."','".$_POST["txtAddmaint"]."')";
mysql_query("set NAMES tis620");
$objQuery = mysql_query($strSQL);
if(!$objQuery)
{
echo "Error Save [".mysql_error()."]";
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
//*** Update Condition ***//
if($_POST["hdnCmd"] == "Update")
{
$strSQL = "UPDATE tb_rx SET ";
$strSQL .="no = '".$_POST["txtEditid"]."' ";
$strSQL .=",freq = '".$_POST["txtEditFreq"]."' ";
$strSQL .=",ms = '".$_POST["txtEditM/S"]."' ";
$strSQL .=",func = '".$_POST["txtEditfunc"]."' ";
$strSQL .=",osctype = '".$_POST["txtEditosc"]."' ";
$strSQL .=",assetno = '".$_POST["txtEditassetno"]."' ";
$strSQL .=",errind = '".$_POST["txtEditerrind"]."' ";
$strSQL .=",erradj = '".$_POST["txtEditerradj"]."' ";
$strSQL .=",oscind = '".$_POST["txtEditoscind"]."' ";
$strSQL .=",oscadj = '".$_POST["txtEditoscadj"]."' ";
$strSQL .=",rfagc = '".$_POST["txtEditrfagc"]."' ";
$strSQL .=",levelind = '".$_POST["txtEditlevelind"]."' ";
$strSQL .=",leveladj = '".$_POST["txtEditleveladj"]."' ";
$strSQL .=",sinadind = '".$_POST["txtEditsinadind"]."' ";
$strSQL .=",sinadadj = '".$_POST["txtEditsinadadj"]."' ";
$strSQL .=",agc = '".$_POST["txtEditagc"]."' ";
$strSQL .=",distn = '".$_POST["txtEditdistn"]."' ";
$strSQL .=",rssiind = '".$_POST["txtEditrssiind"]."' ";
$strSQL .=",rssiadj = '".$_POST["txtEditrssiadj"]."' ";
$strSQL .=",rssiidle = '".$_POST["txtEditrssiidle"]."' ";
$strSQL .=",sqind = '".$_POST["txtEditsqind"]."' ";
$strSQL .=",sqadj = '".$_POST["txtEditsqadj"]."' ";
$strSQL .="WHERE no = '".$_POST["hdnEditid"]."' ";
mysql_query("set NAMES tis620");
$objQuery = mysql_query($strSQL);
if(!$objQuery)
{
echo "Error Update [".mysql_error()."]";
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
//*** Delete Condition ***//
if($_GET["Action"] == "Del")
{
$strSQL = "DELETE FROM tb_rx ";
$strSQL .="WHERE no = '".$_GET["CusID"]."' ";
mysql_query("set NAMES tis620");
$objQuery = mysql_query($strSQL);
if(!$objQuery)
{
echo "Error Delete [".mysql_error()."]";
}
//header("location:$_SERVER[PHP_SELF]");
//exit();
}
$strSQL = "SELECT * FROM tb_rx where(tb_rx.maint_id = '$maint_id')ORDER BY no ASC ";
mysql_query("set NAMES tis620");
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
?>
</p>
<h1 class="style2">หน้ากรอกข้อมูล </h1>
<form name="frmMain" method="post" action="<?=$_SERVER["PHP_SELF"];?>">
<input type="hidden" name="maintid" size="15" value="<?=$_POST["maintid"];?>">
<input type="hidden" name="hdnCmd" value="">
<table width="1124" border="1">
<tr>
<th width="35" rowspan="3"> <div align="center" class="style1">No </div></th>
<th width="56" rowspan="3"> <div align="center" class="style1">Freq(MHz) </div></th>
<th width="24" rowspan="3"> <div align="center" class="style1">M/S </div></th>
<th width="72" rowspan="3"> <div align="center" class="style1">Func</div></th>
<th width="95" rowspan="3"> <div align="center" class="style1">OscType</div></th>
<th width="97" rowspan="3"> <div align="center" class="style1">AssetNo</div></th>
<th colspan="2"> <div align="center" class="style1">Error(Hz)</div></th>
<th colspan="2"> <div align="center" class="style1">Oscillator</div></th>
<th width="57" rowspan="3"> <div align="center" class="style1">RFAGC(db)</div></th>
<th colspan="6"> <div align="center" class="style1">Line Audio Output</div></th>
<th colspan="3" rowspan="2"> <div align="center" class="style1">RSSI(VDC)</div></th>
<th colspan="2" rowspan="2"> <div align="center" class="style1">SQ(uV)</div></th>
</tr>
<tr>
<th width="30" rowspan="2">Ind</th>
<th width="32" rowspan="2">Adj</th>
<th width="30" rowspan="2">Ind</th>
<th width="30" rowspan="2">Adj</th>
<th colspan="2">Level(dBm)</th>
<th colspan="2">SINAD(dB)</th>
<th width="44" rowspan="2">AGC(dB)</th>
<th width="42" rowspan="2">Distn(%)</th>
</tr>
<tr>
<th width="30">Ind</th>
<th width="30">Adl</th>
<th width="30"><div align="center">Ind</div></th>
<th width="30"><div align="center">Adj</div></th>
<th width="30">Ind</th>
<th width="30">Adj</th>
<th width="30">Idle</th>
<th width="30">Ind</th>
<th width="30">Adj</th>
</tr>
<?
$i=1;
while($objResult = mysql_fetch_array($objQuery))
{
?>
<?
if($objResult["no"] == $_GET["CusID"] and $_GET["Action"] == "Edit")
{
?>
<tr>
<td><div align="center">
<input type="hidden" name="txtEditid" size="6" value="<?=$objResult["no"];?>">
<input type="hidden" name="hdnEditid" size="6" value="<?=$objResult["no"];?>">
</div></td>
<td><input type="text" name="txtEditFreq" size="9" value="<?=$objResult["freq"];?>"></td>
<td><input type="text" name="txtEditM/S" size="4" value="<?=$objResult["ms"];?>"></td>
<td><select name="txtEditfunc">
<option value="<?=$objResult["func"];?>"><?=$objResult["func"];?></option>
<option value="AREA">AREA</option>
<option value="APP">APP</option>
<option value="SEC 1">SEC 1</option>
<option value="SEC 2">SEC 2</option>
<option value="SEC 3">SEC 3</option>
<option value="SEC 4">SEC 4</option>
<option value="SEC 5">SEC 5</option>
<option value="SEC 6">SEC 6</option>
<option value="SEC 7">SEC 7</option>
<option value="SEC 8">SEC 8</option>
</select></td>
<td><select name="txtEditosc">
<option value="<?=$objResult["osctype"];?>"><?=$objResult["osctype"];?></option>
<option value="Syn">Syn</option>
</select></td>
<td>
<?
$strSQL3 = "SELECT * FROM tb_asset ORDER BY assetno ASC";
mysql_query("set NAMES tis620");
$objQuery3 = mysql_query($strSQL3);
?>
<select name="txtEditassetno">
<option value="<?=$objResult["assetno"];?>"><?=$objResult["assetno"];?></option>
<?
while($objResult3 = mysql_fetch_array($objQuery3))
{
?>
<option value="<?=$objResult3["assetno"];?>"><?=$objResult3["assetno"];?></option>
<?
}
?>
</select></td>
<td><input type="text" name="txtEditerrind" size="5" value="<?=$objResult["errind"];?>"></td>
<td><input type="text" name="txtEditerradj" size="5" value="<?=$objResult["erradj"];?>"></td>
<td><input type="text" name="txtEditoscind" size="5" value="<?=$objResult["oscind"];?>"></td>
<td><input type="text" name="txtEditoscadj" size="5" value="<?=$objResult["oscadj"];?>"></td>
<td><input type="text" name="txtEditrfagc" size="9" value="<?=$objResult["rfagc"];?>"></td>
<td><input type="text" name="txtEditlevelind" size="5" value="<?=$objResult["levelind"];?>"></td>
<td><input type="text" name="txtEditleveladj" size="5" value="<?=$objResult["leveladj"];?>"></td>
<td><input type="text" name="txtEditsinadind" size="5" value="<?=$objResult["sinadind"];?>"></td>
<td><input type="text" name="txtEditsinadadj" size="5" value="<?=$objResult["sinadadj"];?>"></td>
<td><input type="text" name="txtEditagc" size="7" value="<?=$objResult["agc"];?>"></td>
<td><input type="text" name="txtEditdistn" size="7" value="<?=$objResult["distn"];?>"></td>
<td><input type="text" name="txtEditrssiind" size="5" value="<?=$objResult["rssiind"];?>"></td>
<td><input type="text" name="txtEditrssiadj" size="5" value="<?=$objResult["rssiadj"];?>"></td>
<td><input type="text" name="txtEditrssiidle" size="5" value="<?=$objResult["rssiidle"];?>"></td>
<td><input type="text" name="txtEditsqind" size="5" value="<?=$objResult["sqind"];?>"></td>
<td><input type="text" name="txtEditsqadj" size="5" value="<?=$objResult["sqadj"];?>"></td>
<td colspan="2" align="right"><div align="center">
<input name="btnAdd" type="button" id="btnUpdate" value="Update" OnClick="frmMain.hdnCmd.value='Update';frmMain.submit();">
<input name="btnAdd" type="button" id="btnCancel" value="Cancel" OnClick="window.location='<?=$_SERVER["PHP_SELF"];?>';">
</div></td>
</tr>
<?
}
else
{
?>
<tr>
<td><?=$i;?></td>
<td><?=$objResult["freq"];?></td>
<td><?=$objResult["ms"];?></td>
<td><?=$objResult["func"];?></td>
<td><?=$objResult["osctype"];?></td>
<td><?=$objResult["assetno"];?></td>
<td><?=$objResult["errind"];?></td>
<td><?=$objResult["erradj"];?></td>
<td><?=$objResult["oscind"];?></td>
<td><?=$objResult["oscadj"];?></td>
<td><?=$objResult["rfagc"];?></td>
<td><?=$objResult["levelind"];?></td>
<td><?=$objResult["leveladj"];?></td>
<td><?=$objResult["sinadind"];?></td>
<td><?=$objResult["sinadadj"];?></td>
<td><?=$objResult["agc"];?></td>
<td><?=$objResult["distn"];?></td>
<td><?=$objResult["rssiind"];?></td>
<td><?=$objResult["rssiadj"];?></td>
<td><?=$objResult["rssiidle"];?></td>
<td><?=$objResult["sqind"];?></td>
<td><?=$objResult["sqadj"];?></td>
<td width="31" align="center"><a href="<?=$_SERVER["PHP_SELF"];?>?Action=Edit&CusID=<?=$objResult["no"];?>">Edit</a></td>
<td width="31" align="center"><a href="JavaScript:if(confirm('Confirm Delete?')==true){window.location='<?=$_SERVER["PHP_SELF"];?>?Action=Del&CusID=<?=$objResult["no"];?>';}">Delete</a></td>
</tr>
<?
}
?>
<?
$i++;
}
?>
<tr>
<td><input type="hidden" name="txtAddno" size="3"></td>
<td><input type="text" name="txtAddFreq" size="9"></td>
<td><input type="text" name="txtAddM/S" size="4"></td>
<td><select name="txtfunc">
<option value="">Func</option>
<option value="AREA">AREA</option>
<option value="APP">APP</option>
<option value="SEC 1">SEC 1</option>
<option value="SEC 2">SEC 2</option>
<option value="SEC 3">SEC 3</option>
<option value="SEC 4">SEC 4</option>
<option value="SEC 5">SEC 5</option>
<option value="SEC 6">SEC 6</option>
<option value="SEC 7">SEC 7</option>
<option value="SEC 8">SEC 8</option>
</select></td>
<td><select name="txtosc">
<option value="">OSC Type</option>
<option value="Syn">Syn</option>
</select></td>
<td>
<select name="txtAddassetno">
<option value="">AssetNo</option>
<?
$strSQL3 = "SELECT * FROM tb_asset ORDER BY assetno ASC";
mysql_query("set NAMES tis620");
$objQuery3 = mysql_query($strSQL3);
while($objResuut3 = mysql_fetch_array($objQuery3))
{
?>
<option value="<?=$objResuut3["assetno"];?>">
<?=$objResuut3["assetno"];?>
</option>
<?
}
?>
</select></td>
<td><input type="text" name="txtAdderrind" size="5"></td>
<td><input type="text" name="txtAdderradj" size="5"></td>
<td><input type="text" name="txtAddoscind" size="5"></td>
<td><input type="text" name="txtAddoscadj" size="5"></td>
<td><input type="text" name="txtAddrfagc" size="9"></td>
<td><input type="text" name="txtAddlevelind" size="5"></td>
<td><input type="text" name="txtAddleveladj" size="5"></td>
<td><input type="text" name="txtAddsinadind" size="5"></td>
<td><input type="text" name="txtAddsinadadj" size="5"></td>
<td><input type="text" name="txtAddagc" size="7"></td>
<td><input type="text" name="txtAdddistn" size="7"></td>
<td><input type="text" name="txtAddrssiind" size="5"></td>
<td><input type="text" name="txtAddrssiadj" size="5"></td>
<td><input type="text" name="txtAddrssiidle" size="5"></td>
<td><input type="text" name="txtAddsqind" size="5"></td>
<td><input type="text" name="txtAddsqadj" size="5"></td>
<input type="hidden" name="txtAddmaint" size="15" value="<?=$maint_id?>">
<td colspan="2" align="right"><div align="center">
<input name="btnAdd" type="button" id="btnAdd" value="Add" OnClick="frmMain.hdnCmd.value='Add';frmMain.submit();">
</div></td>
</tr>
</table>
</form>
<form id="form1" name="form1" method="post" action="print.php">
<input type="submit" name="Submit" value="Submit" />
</form>
<h2 align="center">
<?
mysql_close($objConnect);
?>
<a href="inputmaintid.php"><strong>กลับไปหน้าหลัก</strong></a></h2>
</body>
</html>
นี้คือ code ส่วนที่เป็น ของหน้าแสดงนะครับซึ่งมันจะสามารถแก้ไข แล้วเพิ่มข้อมูลเข้าไปได้ ซึ่ง code ส่วนนี้ ก็เอามาจากในเว็ปและครับโมไปโมมางงเหมือนกานครับ แต่ปัญหาคือเวลาเรากด edit หรือ delete แล้วค่าที่เรา post มามันก็จะหายไปเลยงะครับ จะแก้ไขส่วนี้ยังไงงะครับ ซิึ่งอยากจะให้ค่าที่เรา post มามันอยู่ตลอดงะครับแล้วก็อยากจะดึงไปใช้หน้าต่อไปด้วยซึ่งเป็นหน้า print.php ด้วยครับ ลองดูให้หน่อยนะครับ
Date :
2011-04-05 08:36:10
By :
brightvirus
ตรงที่จะสั่งให้ไปที่หน้า print.php คุณก็เพิ่ม hidden เข้าไปอีกตัวสิครับ
<input type="hidden" name="maint_id" size="15" value="<?=$maint_id?>">
Code (PHP)
<form id="form1" name="form1" method="post" action="print.php">
<input type="submit" name="Submit" value="Submit" />
</form>
Date :
2011-04-05 08:46:50
By :
ไวยวิทย์
หน้าแรกครับ
หน้า แสดงข้อมูลครับ
นี้คือรูป หลักจากที่กด edit หรือ delete ไปแล้วครับ
ช่วยหน่อยนะครับ ขอบคุณทุกคำตอบที่ตอบให้ความรู้ครับ ^^
ประวัติการแก้ไข 2011-04-05 08:55:28 2011-04-05 08:56:24
Date :
2011-04-05 08:49:39
By :
brightvirus
ใช้ทั้งค่า GET และ POST ในหน้าเดียวกัน ก็ต้องเช็ค ๆ ดีล่ะครับ
Date :
2011-04-05 10:24:14
By :
ไวยวิทย์
แบบงงหมดแล้วครับ T_T ลองดูๆให้หน่อยนะครับพยายามนั้งแก้อยู่ ^^ ขอบใจที่ยังค่อยช่วยนะครับ
Date :
2011-04-05 10:27:30
By :
brightvirus
คือที่ตารางมันหายไปก็เพราะว่า ค่า maintid ที่เรา post มันมาจากหน้าแรกงะครับ มันเป็นค่า NULL ไปสะงั้น เวลาที่เรากด edit หรือ delete ไปงะครับ คือจะทำยังไงไม่ให้มันเป็น NULL งะครับ ประเด่นมันอยู่ตรงนี้ละครับทำยังไงไม่ให้ค่าที่เราpostมาจากหน้าที่แล้ว มันเป็นnull เมื่อเรากด editหรือ delete ครับ ขอบคุณครับ งงตรงนี้และครับ จะทำ session ก็งงๆ T_T project ไม่คืบหน้าครับ
Date :
2011-04-05 10:38:15
By :
brightvirus
คือ ไอตรงบรรทัดนี้งะครับ
<td width="31" align="center"><a href="<?=$_SERVER["PHP_SELF"];?>?Action=Edit&CusID=<?=$objResult["no"];?>">Edit</a></td>
<td width="31" align="center"><a href="JavaScript:if(confirm('Confirm Delete?')==true){window.location='<?=$_SERVER["PHP_SELF"];?>?Action=Del&CusID=<?=$objResult["no"];?>';}">Delete</a></td>
คือเวลากดแล้วมันไม่เอาค่า post มาด้วยงะครับคือมันแค่ return ค่าเก่าจากหน้าเดียวเท่านั้นงะครับ คือเราจะทำยังไงดีง่า T_T แก้ไขไม่ได้สักที รอคนตอบนะครับ ขอบคุณครับ
Date :
2011-04-05 11:14:18
By :
brightvirus
ไม่มีคนมาตอบเย้ย
Date :
2011-04-07 08:59:34
By :
brightvirus
Load balance : Server 04