ช่วยดู code ให้หน่อยครับ เรื่อง dependent list menu
คือ ผมกำลังทำหน้า web ที่ดึง database มาจาก MySQL ซึ่งเป็นข้อมูลเกี่ยวกับรายชื่อและรายละเอียดของลูกค้า
ส่วนหน้า web นั้น เพราะว่าลูกค้ามีจำนวนเยอะมาก ผมเลยทำเป็นแบบ list menu 2 อัน อันแรกไล่ตั้งแต่ตัวอักษร a-z และ อันที่สองนั้นเป็นลูกค้าที่ชื่อขึ้นต้นด้วย a เป็นต้น
พอเลือกเสร็จแล้วถึงจะโชว์รายละเอียดของลูกค้าเป็นตาราง
code อันนี้คือ ส่วนที่ query ลูกค้าตามตักอักษรตัวแรก
Code (PHP)
function ListCustomer(SelectValue)
{
form1.select2.length = 0
//*** Insert null Default Value ***//
var myOption = new Option('','')
form1.select2.options[form1.select2.length]= myOption
<?
$intRows = 0;
$strSQL = "SELECT * FROM `customer_list` ORDER BY cus_id ASC ";
$objQuery = mysql_query($strSQL) or die ("Error Query [".$strSQL."]");
$intRows = 0;
while($objResult = mysql_fetch_array($objQuery))
{
$intRows++;
?>
x = <?=$intRows;?>;
mySubList = new Array();
strGroup = "<?=$objResult["alp_id"];?>";
strValue = "<?=$objResult["cus_id"];?>";
strItem = "<?=$objResult["cus_name"];?>";
mySubList[x,0] = strItem;
mySubList[x,1] = strGroup;
mySubList[x,2] = strValue;
if (mySubList[x,1] == SelectValue){
var myOption = new Option(mySubList[x,0], mySubList[x,2])
form1.select2.options[form1.select2.length]= myOption
}
<?
}
?>
}
</script>
อันนี้คือ ส่วนที่ query ลูกค้าที่ชื่อขึ้นต้นด้วยตัวอักษรที่เลือกไว้ตอนแรก มาโชว์ในตาราง
Code (PHP)
<?php
$i++;
}
?>
</table>
<table width="100%" height="35" border="0" align="center" cellpadding="5" cellspacing="5">
<tr class="dbattribute_customer">
<td width="2%" height="36" align="center" valign="middle" class="dbattribute_customer">No</td>
<td width="10%" align="center" valign="middle" class="dbattribute_customer">Site</td>
<td width="10%" align="center" valign="middle" class="dbattribute_customer">ID No.</td>
<td width="8%" align="center" valign="middle" class="dbattribute_customer">Type of Media</span></td>
<td width="5%" align="center" valign="middle" class="dbattribute_customer">Speed</td>
<td width="22%" align="center" valign="middle" class="dbattribute_customer">Interface</td>
<td width="8%" align="center" valign="middle" class="dbattribute_customer">Name of ISP</td>
<td width="7%" align="center" valign="middle" class="dbattribute_customer">Usage</td>
<td width="10%" align="center" valign="middle" class="dbattribute_customer">Telephone</td>
<td width="10%" align="center" valign="middle" class="dbattribute_customer">Remote/Telnet</td>
<td width="4%" align="center" valign="middle" class="dbattribute_customer">Edit</td>
<td width="4%" align="center" valign="middle" class="dbattribute_customer">Del</td>
</tr>
<?php
include("config.php");
$cus_id = $_POST['select2'];
$result= mysql_query("SELECT * FROM customer_description WHERE cus_id='$cus_id' ");
$i = 1;
while($dbarr = mysql_fetch_array($result)) {
?>
<tr align="left" class="listmysql">
<td width="2%" height="23" align="center" valign="middle"><?php echo nl2br($dbarr['no'] ) ; ?> </td>
<td width="10%" valign="middle"><?php echo nl2br($dbarr['site'] ); ?> </td>
<td width="10%" align="center" valign="top"><?php echo nl2br($dbarr['id_no']) ; ?> </td>
<td width="5%" align="center" valign="top"><?php echo nl2br($dbarr['type_of_media']) ; ?> </td>
<td width="5%" align="center" valign="top"><?php echo nl2br($dbarr['speed']) ; ?> </td>
<td width="22%" align="left" valign="top"><?php echo nl2br($dbarr['interface']) ; ?> </td>
<td width="8%" align="center" valign="top"><?php echo nl2br($dbarr['name_ISP']) ; ?> </td>
<td width="7%" align="center" valign="top"><?php echo nl2br($dbarr['usage']) ; ?> </td>
<td width="10%" align="left" valign="top"><?php echo nl2br($dbarr['telephone']) ; ?> </td>
<td width="10%" align="left" valign="top"><?php echo nl2br($dbarr['remote_telnet']) ; ?> </td>
<td width="4%" align="center" valign="middle"><a href="edit_IP_VPN.php?no=<?=$dbarr['no'];?>"><img src="edit.gif" width="19" height="19" align="middle" /></td>
<td width="4%" align="center" valign="middle"><img src="delete.jpg" width="15" height="15" align="absmiddle" /></td>
</tr>
ปัญหาคือ ผมทำหน้า edit ข้อมูลทางหน้าเว็บให้มันไปแก้ใน database เอง แล้วก็สร้าง case ดักไว้ว่า edit successful หรือ unsuccessful (edit ไม่ได้) แต่ทำยังไงมันก็ขึ้นแต่ unsuccessful
อันนี้คือ code php ที่จะไป edit ข้อมูล (user edit ข้อมูลในหน้าเว็บอีกอันมาก่อนแล้ว)
Code (PHP)
<?php
include("config.php");
$no = $_POST['no'];
$site = $_POST['site'];
$id_no = $_POST['id_no'];
$type_of_media = $_POST['type_of_media'];
$speed = $_POST['speed'];
$interface = $_POST['interface'];
$name_ISP = $_POST['name_ISP'];
$usage = $_POST['usage'];
$telephone = $_POST['telephone'];
$remote_telnet = $_POST['remote_telnet'];
$query = "select * from `customer_description` where no='$no'";
$result = mysql_query($query);
$dbarr = mysql_fetch_array($result);
if($site!=$dbarr['site']){
$sql = "select site from customer_description where site='$site'" ;
$result = mysql_query($sql) ;
$numrow = mysql_num_rows($result) ;
if($numrow!=0) {
echo "<br><br><center><font color=\"#cccccc\">The video title is duplicated. Please try again!!,<br>Please change the video title !!</font>" ;
echo "<br><br><< <a href=\"javascript:history.back();\"> <font color=\"#ff3333\"> <b> ok </b> </font> </a> >></center></body></html>" ;
exit() ;
}
}
$sql="UPDATE `customer_description` SET site='$site', id_no = '$id_no', type_of_media='$type_of_media', speed = '$speed', interface = '$interface', name_ISP = '$name_ISP', usage = '$usage', telephone = '$telephone', remote_telnet = '$remote_telnet' WHERE no = '$no'";
$result = mysql_query($sql);
if ($result) {
echo "<center><font color=\"#000000\"> Data was successfully edited !! </font><br><br><< <a href=\"IP_VPN_contact.php\"> <font color=\"#ff3333\"><b>ok<b></font> </a> >></center>";
}
else {
echo "<center><font color=\"#000000\"> Unsuccessfully edited. Please try again !! </font><br><br><< <a href=\"javascript:history.back();\"> <font color=\"#ff3333\"><b>ok<b></font> </a> >></center>";
}
?>
</p>
</body>
</html>
รบกวนผู้เชี่ยวชาญช่วยดู code ให้หน่อยนะครับว่าผิดพลาดตรงไหน อาจจะเยอะไปหน่อย
ขอบคุณล่วงหน้าครับTag : PHP, HTML/CSS, JavaScript
ประวัติการแก้ไข 2012-02-13 09:15:01 2012-02-13 09:16:06
Date :
2012-02-13 09:14:46
By :
thamesnakub
View :
1264
Reply :
7
code เยอะน่ะครับ ดูด้วยสายตายากหน่อย
Date :
2012-02-13 10:57:35
By :
webmaster
ผมว่า ลอง echo ตัวแปรมาดูดีกว่าครับ ส่วนมาก ที่ update ไม่ได้ อาจเกิดจาก คำสั่ง ไม่ถูกต้องหรือตัวแปรไม่มีค่าครับ โดยเฉพาะตรง where ครับ ค่าอื่นอาจจะได้ แต่ ตรง where อาจจะไม่ได้ค่าครับ มันเลยไม่มีอะไรเกิดขึ้น ลอง check ดูครับ
Date :
2012-02-13 11:32:16
By :
slurpee55555
Code (PHP)
$sql="UPDATE `customer_description` SET site='$site', id_no = '$id_no', type_of_media='$type_of_media', speed = '$speed', interface = '$interface', name_ISP = '$name_ISP', usage = '$usage', telephone = '$telephone', remote_telnet = '$remote_telnet' WHERE no = '$no'";
$result = mysql_query($sql);
if ($result) {
echo "<center><font color=\"#000000\"> Data was successfully edited !! </font><br><br><< <a href=\"CAT_contact.php\"> <font color=\"#ff3333\"><b>ok<b></font> </a> >></center>";
}
else {
echo "<center><font color=\"#000000\"> Unsuccessfully edited. Please try again !! </font><br><br><< <a href=\"javascript:history.back();\"> <font color=\"#ff3333\"><b>ok<b></font> </a> >></center>";
}
?>
</p>
ผมลองดูแล้ว ถ้าผม echoซักตัวแปรนึง แทรกไปตรง line 3 มันจะโชว์ข้อมูลที่อัพเดทแล้ว
แต่ถ้าecho แทรกไป line 9 มันจะขึ้นแบบไม่อัพเดตมาให้
แสดงว่า if ($result) มันใช้ไม่ได้เหรอครับ ช่วยทีครับ
ประวัติการแก้ไข 2012-02-13 13:44:26 2012-02-13 13:45:30
Date :
2012-02-13 13:42:54
By :
thamesnakub
ช่วยผมทีนะครับ ไม่รู้จะแก้ยังไงแล้ว ตันจริงๆ ต้องรีบทำให้เสร็จด้วย
Date :
2012-02-14 08:39:55
By :
thamesnakub
ไม่มีใครช่วยเลยเหรอครับ - -"
Date :
2012-02-16 09:11:06
By :
thamesnakub
Load balance : Server 00