ขอถามเรื่อง Jquery เรื่องการทำจำนวน table ตาม while loop ที่ได้จาก database
ผมมีปัญหาเรื่องการอ่านค่าตั้งแต่แถวที่ 2 ลงไปไม่สามารถอ่านค่าได้ โดนถ้ากดแก้ไขก็จะส่งค่าไปอีกหน้าเพื่อเปิดอีกหน่าขึ้นมาโดยใช้ Jquery พอทำการแก้ไขเสร็จกดปุ่ม submit แล้วก็ส่งค่าผ่านทาง jQuery เช่นกัน ต้องทำยังไงอะครับ เพราะมัน Alert ได้แต่ค่าแรกหรือค่าบนสุดเท่านั้นอะครับ
Code index.php
<?
@session_start();
if ( empty ( $_SESSION['username'] ) )
{
echo "<meta http-equiv=\"refresh\" content=\"0;URL=../index.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>Admin System</title>
<script src="../jquery/jQuery_1_7_1.js" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function(e) {
//alert ("ok");
$('#m1').click(function(e) {
$('#m1_1').toggle();
});
$('#m2').click(function(e) {
$('#m2_1').toggle();
});
$('#m3').click(function(e) {
$('#m3_1').toggle();
});
$('#repass').click(function(e) {
$.get('repass.php' , {
mrepass : (1) } ,
function (sendrepass){
$('#detail').html(sendrepass);
});
});
$('.m1_1').click(function(e) {
$.get('boardsystem.php',{
m1_1 : (1) },
function (a){
$('#detail').html(a);
});
});
$('.m1_2').click(function(e) {
$.get('boardsystem.php',{
m1_1 : (2) },
function (a){
$('#detail').html(a);
});
});
});
</script>
</head>
<body>
<table border="1" width="1024" cellpadding="0" cellspacing="0">
<tr>
<th colspan="2"><h1>..::: Admin System :::..</h1></th>
</tr>
<tr valign="top">
<td width="250" title="menu">
<table border="1" width="100%" cellpadding="5" cellspacing="5">
<tr>
<th>Menu</th>
</tr>
<tr>
<td><a href="index.php">หน้าแรก</a></td>
</tr>
<tr>
<td id="repass">เปลี่ยนรหัสผ่าน</td>
</tr>
<tr>
<td id="m1">
กรรมการสถานศึกษา
<ul id="m1_1" style="display:none;">
<li class="m1_1">เพิ่ม</li>
<li class="m1_2">แก้ไข</li>
</ul>
</td>
</tr>
<tr>
<td id="m2">
บุคลากร
<ul id="m2_1" style="display:none;">
<li class="m2_1">เพิ่ม</li>
<li class="m2_2">แก้ไข</li>
</ul>
</td>
</tr>
<tr>
<td id="m3">
นักเรียน
<ul id="m3_1" style="display:none;">
<li class="m3_1">เพิ่ม</li>
<li class="m3_2">แก้ไข</li>
</ul>
</td>
</tr>
</table>
</td>
<td width="768" id="detail" title="detail"><center><h1>Wellcome Admin System</h1></center></td>
</tr>
</table>
</body>
</html>
Code (หน้าแก้ไข)
<!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>
</head>
<script>
//up board
$('#updateboard').submit(function(e) {
if ( $('#name').val() == "" )
{
$('#name').select();
return false;
}
else if ( $('#lastname').val() == "" )
{
$('#lastname').select();
return false;
}
else
{
$.post( 'updateboard.php' , {
name : $('#name').val() ,
lastname : $('#lastname').val() ,
position : $('#position').val() ,
mission : $('#mission').val() ,
getid : (1)
},
function (updateboard){
$('#showupdata1').html(updateboard);
location.reload();
return true;
});
}
return false;
});
//edit baord
$('#fmeditboard').click(function(e) {
alert ($('#imgsubmit').val());
return false;
});
</script>
<body>
<br />
<?php
if ($_GET['m1_1'] == '1')
{
?>
<form method="post" action="" name="updateboard" id="updateboard" style="background-color:#FFC;">
<fieldset>
<legend>เพิ่มกรรมการสถานศึกษา</legend>
<table border="0" width="100%" cellpadding="0" cellspacing="0">
<tr>
<td width="30%">ชื่อ :</td>
<td width="70%"><input type="text" name="name" id="name" title="name" /></td>
</tr>
<tr>
<td>นามสกุล :</td>
<td><input type="text" name="lastname" id="lastname" title="lastname" /></td>
</tr>
<tr>
<td>ตำแหน่ง :</td>
<td><input type="text" name="position" id="position" title="position" /></td>
<tr>
<tr>
<td>หน้าที่ :</td>
<td><input type="text" name="mission" id="mission" title="mission" /></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="submit" id="submit" value="submit" />
</tr>
</table>
</fieldset>
</form>
<?
}
else if ($_GET['m1_1'] == '2')
{
echo "<div align='center'><h1>แก้ไขกรรมการสถานศึกษา</h1></div>";
include_once('../connect.php');
$sql_editboard = " SELECT * FROM tb_board ";
$res_editboard = mysql_query ($sql_editboard) or die (mysql_error());
while ( $row_editboard = mysql_fetch_array ($res_editboard) )
{
?>
<table border="1" width="100%" cellpadding="0" vspace="0">
<tr bgcolor="#FFFFCC" style="word-break:keep-all;">
<td width="4%" align="right" id="editboard"><form action="" method="post" name="fmeditboard" id="fmeditboard" title="edit board"><input name="imgsubmit" type="image" id="imgsubmit" src="../tempalte/icon-edit.jpg" width="30" height="30" border="0" value="<?=$row_editboard['0'];?>" /></form></a></td>
<td width="19%" align="left"><?=$row_editboard['0'];?></td>
<td width="22%" align="left"><?=$row_editboard['1'];?></td>
<td width="29%" align="center"><?=$row_editboard['2'];?></td>
<td width="26%" align="center"><?=$row_editboard['3'];?></td>
</tr>
</table>
<?
}
}
?>
</body>
</html>
Tag : PHP, HTML/CSS, JavaScript, Ajax, jQuery, CakePHP
Date :
2012-02-15 14:22:07
By :
thethaicom
View :
2916
Reply :
12
เพิ่ม $i เข้าไปอยู่ในลูปเพื่อให้มีตัวเลขไปเปลี่ยนค่าของ jquery ใน class="m1_2">
Date :
2012-02-15 14:29:40
By :
Dragons_first
อันที่บอกมันเป็นส่วนของ เมนูอะครับ ที่ต้องการให้ดูคือส่วนแก้ไขอะครับ
Date :
2012-02-15 14:45:49
By :
thethaicom
เอาหน้าแรกมาดูครับ ที่ลูปไว้นั่นแหละ
Date :
2012-02-15 14:57:57
By :
Dragons_first
id="imgsubmit" id ของ input มันซ้ำกันครับ มันเลยใช้ได้เฉพาะตัวแรก วิธีแก้คือ ใส่ตัวเลขให้
ผมสงสัยว่าจะใส่ form ทำไม ในเมื่อ jquery สามารถส่งค่า POST โดยไม่ต้องอาศัย form
Date :
2012-02-15 15:00:58
By :
randOmizE
ขอตัวอย่างได้ไมครับ ตอนนี้ ผมกำลัง มึนอย่างแรง เขียนทั้ง for loop / count ก็แล้ว ไม่ผ่าน งง อย่างแรง
ถ้าไม่ได้ ผมคงต้อเขียนแบบเริ่มต้น(แบบพื้นๆ) ส่งข้ามหน้า ธรรมดา
ประวัติการแก้ไข 2012-02-15 15:32:10
Date :
2012-02-15 15:29:47
By :
thethaicom
สาเหตุที่มัน แสดงได้แค่ค่าแรก เพราะว่า
form action="" method="post" name="fmeditboard" id="fmeditboard " title="edit board"><input name="imgsubmit" type="image" id="imgsubmit" src="../tempalte/icon-edit.jpg" width="30" height="30" border="0" value="<?=$row_editboard['0'];?>" /></form></a>
id ของ form มันมีชื่อซ้ำกัน คือ fmeditboard ตอนวนลูป while มันก็จะสร้าง form ที่มี id ชื่อ fmeditboard ตามจำนวนข้อมูล ซึ่งหลักของ id แต่ละแท็กในหน้านั้น จะมี id ชื่อเหมือนกันไม่ได้
Date :
2012-02-15 15:49:19
By :
randOmizE
อ๋อ เข้าใจแล้วครับ ในส่วน ของ php เดี่ยวทำการแก้ไข แล้วส่วน ของ jquery นี้มันเขียนยังไงเพื่อให้มันนับค่าอะครับ
คื่อถ้าเปHนมันก็จะได้ แบบว่า for(i=1;i>=count$("#id");i++) แบบนี้มันไม่ได้อะครับ
ประวัติการแก้ไข 2012-02-15 16:03:20
Date :
2012-02-15 16:01:31
By :
thethaicom
เปลี่ยน id ของ formและ input เป็น class
id="fmeditboard"
id="imgsubmit"
เป็น
class="fmeditboard"
class="imgsubmit"
แล้วแก้โค๊ดเป็น
Code (PHP)
$('.fmeditboard').click(function() {
alert ($(this).find('.imgsubmit').val());
return false;
});
Date :
2012-02-15 16:06:59
By :
randOmizE
ขอบคุณครับเดี่ยวจะลองไปทำดูก่อน แล้วเดี่ยวมาถามใหม่นะครับ
Date :
2012-02-15 16:40:09
By :
thethaicom
imgsubmit
ชื่อตัวแปรมึงอะ ชื่อเดียวกันหมดเลย แต่ละแถวมังควรจะตั้งเป็น
imgsubmit1
imgsubmit2
imgsubmit3
imgsubmit4
imgsubmit5
imgsubmit6
มันเลยเรียกแต่ตัวแรกให้มึงไง
Date :
2012-02-15 17:05:25
By :
พงษ์พัฒน์
อืมเข้าใจละ
Date :
2012-02-15 17:48:03
By :
thethaicom
ขอบคุณมากครับ
เจอปัญหาเดียวกันเลย
ขอบคุณครับ
Date :
2015-04-05 16:52:21
By :
ไม่ระบุ
Load balance : Server 05