ขอแนวทางทำ Onchage กรองข้อมูลเพศในตารางที่อิงมาจาก Database ของผมหน่อยครับ
ขอความช่วยเหลือด้วยค้าบบบบบ
Date :
2015-10-29 23:24:15
By :
vaerit094
ใช้ jquery เขียนครับถ้าให้ง่ายและดีก็ Angular JS
Date :
2015-10-30 00:43:32
By :
sensugaz
ช่วยหน่อยค้าบบ
Date :
2015-10-30 12:08:39
By :
vaerit094
หมายถึงถ้าคลิกเลือก M ก็จะแสดงแต่เพศ M มาใช้หรือป่าวครับ
Date :
2015-10-30 13:20:25
By :
sensugaz
แก้ไข บันทัดที่ 35. เขียนเพิ่ม ในส่วนที่เพิ่มขึ้นมา ใช้ class ช่วย
Code (PHP)
<td class='for_check_sex' ><?php echo $objResult["Name"];?></td>
<select name= 'Gender' onchange= 'setSex(this.value)'>
ส่วน script เอาไปไว้ใน ส่วนของ <head>
ศึกษำการวาง tag ใน HTML ใหม่วางให้ถูกที่ถูกทางจะได้ประโยชน์
อ่านง่าย แก้ไขง่าย
Code (PHP)
<script>
function setSex( val ){
var tds = document.getElementsByClassName('for_check_sex');
var ln=tds.length, tr, html;
for( var i = 0; i<ln; i++){
tr=tds[i].parent; html=tds[i].innerHTML;
switch( val){
case 'M': tr.style.display=(/^Mrs/).test( html ) ? 'none' : 'block'; break;
case 'F': tr.style.display=(/^Mrs/).test( html ) ? 'block' : 'none'; break;
default: tr.style.display="block";
}
}
}
<script>
ประวัติการแก้ไข 2015-10-30 18:51:01 2015-10-30 19:06:50
Date :
2015-10-30 18:43:12
By :
NewbiePHP
ลองกลับไปอ่านใหม่ ผมเพิ่มคอมเม้นท์ให้นิดหน่อย
Date :
2015-10-30 19:07:26
By :
NewbiePHP
ทำแล้วครับ พอเลือกเพศมันก็ไม่เปลี่ยนข้อมูลในตารางให้เหมือนเดิมเลยครับ
Code (PHP)
<html>
<head>
<title>lab6005db</title>
//ที่ผมแก้
<script>
function setSex( val ){
var tds = document.getElementsByClassName('for_check_sex');
var ln=tds.length, tr, html;
for( var i = 0; i<ln; i++){
tr=tds[i].parent; html=tds[i].innerHTML;
switch( val){
case 'M': tr.style.display=(/^Mrs/).test( html ) ? 'none' : 'block'; break;
case 'F': tr.style.display=(/^Mrs/).test( html ) ? 'block' : 'none'; break;
default: tr.style.display="block";
}
}
}
</script>
//ที่ผมแก้
</head>
<body>
<?php
$host = "localhost";
$username = "u6005";
$password = "u60051";
$db_name = "lab6005db";
$objConnect = mysql_connect($host,$username,$password);
$objDB = mysql_select_db($db_name);
$strSQL = "SELECT * FROM lab6005db.person";
$objQuery = mysql_query($strSQL) or die (mysql_error());
?>
<center><strong><u><font size="20">58050374 Warit Wirunkawat</font></u></strong></center>
<br>
<center>
<form action =' ' method='POST'>
Select gender :
<select name= 'Gender' onchange= 'setSex(this.value)'>//ที่ผมแก้
<option value='A' <?php if($Gender == 'A') echo "selected"; ?>>All</option>
<option value='M' <?php if($Gender == 'M') echo "selected"; ?>>Male</option>
<option value='F' <?php if($Gender == 'F') echo "selected"; ?>>Female</option>
</select>
</form>
</center>
<center><table width="600" border="1">
<tr>
<th width="91"> <div align="center">ID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Date of Birth </div></th>
<th width="97"> <div align="center">Weight </div></th>
<th width="59"> <div align="center">Gender </div></th>
</tr></center>
<?php
while($objResult = mysql_fetch_array($objQuery))
{
?>
<tr>
<td><div align="center"><?php echo $objResult["ID"];?></div></td>
<td class='for_check_sex'><?php echo $objResult["Name"];?></td>//ที่ผมแก้
<td><?php echo $objResult["Date of Birth"];?></td>
<td><div align="center"><?php echo $objResult["Weight"];?></div></td>
<td align="right"><?php echo $objResult["Gender"];?></td>
</tr>
<?php
}
?>
</table>
<?php
mysql_close($objConnect);
?>
</body>
</html>
Date :
2015-10-30 20:10:10
By :
vaerit094
เขียน Jquery Ajax ส่งข้อมูลไปอัพเดทในฐานข้อมูลครับ
Date :
2015-10-30 21:09:40
By :
sensugaz
Code (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>Untitled Document</title>
<script type="text/javascript" src="js/jquery-1.6.1.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$('#get').click(function(){
$.get(
'get_data.php',
{id:4},
function(data){
$('#container').html(data);
},
'html'
);
});
});
</script>
</head>
<body>
<p>
<input type="button" name="get" id="get" value="Button" />
</p>
<div id="container"></div>
</body>
</html>
แบบนี้รึเปล่าครับ ผมหาตัวอย่างเอา
เครดิต select2web.com
Date :
2015-10-30 21:29:28
By :
vaerit094
ปกติผมจะไม่ค่อยชอบตอบกับมือใหม่ เพราะเหมือนกับพูดกันคนละภาษา กว่าจะรู้เรื่องกันยาว
ลองเอาโค๊ดไปศึกษาเพิ่มเติมนะครับ ถ้าก๊อปเอาไปใช้อย่างเดียวผลเสียก็จะตกกับคุณ
และช่วยเข้าไปอ่านเพจนี้หน่อยนะครับ ช่วยได้เยอะสำหรับมือใหม่
https://www.thaicreate.com/php.html
Code (PHP)
<?php
$host = "localhost";
$username = "u6005";
$password = "u60051";
$db_name = "lab6005db";
$db = new mysqli($host,$username,$password, $db_name);
$db->set_charset('utf8');
$strSQL = "SELECT * FROM person";
$result = $db->query($strSQL) or die ($strSQL."<br>".$db->error);
?>
<html>
<head>
<title>lab6005db</title>
<script>
function setSex( val ){
var tds = document.getElementsByClassName('for_check_sex');
var ln=tds.length;
for( var i = 0; i<ln; i++){
if( val == 'M'){
tds[i].parent.style.display=(/^Mrs/).test( tds[i].innerHTML) ? 'none' : 'block';
}else if( val=='F'){
tds[i].parent.style.display=(/^Mrs/).test( tds[i].innerHTML) ? 'block' : 'none';
}else{
tds[i].parent.style.display="block";
}
}
}
<script>
</head>
<body>
<center><strong><u><font size="20">58050374 Warit Wirunkawat</font></u></strong></center>
<br>
<center><table width="600" border="1">
<tr>
<th width="91"> <div align="center">ID </div></th>
<th width="98"> <div align="center">Name </div></th>
<th width="198"> <div align="center">Date of Birth </div></th>
<th width="97"> <div align="center">Weight </div></th>
<th width="59"> <div align="center">Gender </div></th>
</tr></center>
<?php
while($row = $result->fetch_assoc()){
?>
<tr>
<td align="center"><?php echo $row["ID"];?></td>
<td class='for_check_sex' ><?php echo $row["person"];?></td>
<td><?php echo $row["Date of Birth"];?></td>
<td><div align="center"><?php echo $row["Weight"];?></div></td>
<td align="right"><?php echo $row["Gender"];?></td>
</tr>
<?php
}
?>
</table>
<select name= 'Gender' onchange= 'setSex(this.value)'>
<option value='A' <?php if($Gender == 'A') echo "selected"; ?>>All</option>
<option value='M' <?php if($Gender == 'M') echo "selected"; ?>>Male</option>
<option value='F' <?php if($Gender == 'F') echo "selected"; ?>>Female</option>
</select>
</body>
</html>
ประวัติการแก้ไข 2015-10-30 22:25:30
Date :
2015-10-30 22:24:35
By :
NewbiePHP
ตามที่บอกครับใช้ Jquer Ajax เข้ามาช่วยครับ
หลักการก็แค่สั่งอีกไฟล์หนึ่งเอาไว้อัพเดทข้อมูลแค่นั้นแหละครับ
Date :
2015-10-31 14:09:39
By :
sensugaz
ไม่เข้าใจก็ PM มาครับเดียวสอน
Date :
2015-10-31 14:10:25
By :
sensugaz
Load balance : Server 05