php获取表格内容!(跪求,很急!) 说一下思路:每一个显示出来的姓名会有对应主键(id),点击姓名时调用JavaScript函数,将id传给程序,去获取其他列数据。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 其实就是ajax获取数据,然后再用javascript dom来动态填充或者直接给表格的TD赋值 就是说当我点击表格里这一行的时候提取这一行td里的姓名或id,通过这个条件连接数据库再去查它的其它内容,并且在同一个页面显示出来,就是这种效果,多谢了! 去网上找个简单一点的ajax实例看看,明白了,你会觉得很简单的。http://www.phpchina.com/html/72/30772-9103.html提供个例子给你看看。。 http://www.phpchina.cn/bbs/viewthread.php?tid=2735这个也不错的 ?给我个例子就可以了,主要是把td里的内容取出来传到php里接收到,通过这个条件查询数据库然后再在本页面显示出来就可以了(无刷新),我对AJAX不熟,有劳大家了,最好在代码旁写上注释,再次谢了! 我只要点击任何一个tr时,取出这行tr里的第一个td(id或姓名),传到php做为一个查询条件就可以了,不知道我说的够不够明白,关健是例子代码呀,在线等大家了! jquery.js需要自己下载呀<script language='javascript' src='./jquery.js'></script><script language='javascript'>jQuery(function($){ $("#tTest td.test").click(function(ee){ var id = $(this).html(); var ee=window.event||ee; var tmpObj = ee.srcElement || ee.target; $.ajax({ type:"post", url: "index.php", dataType:"json", data: "id=" + id, success: function(jsonObj) { var rowObj = tmpObj.parentNode; rowObj.childNodes[1].innerHTML = jsonObj.name; rowObj.childNodes[2].innerHTML = jsonObj.description; rowObj.childNodes[3].innerHTML = jsonObj.test2; rowObj.childNodes[4].innerHTML = jsonObj.id; }//success }); });});</script><table id='tTest' border='1' width='500'> <tr><td class='test'>22</td><td> </td><td> </td><td> </td><td> </td></tr> <tr><td class='test'>33</td><td> </td><td> </td><td> </td><td> </td></tr> <tr><td class='test'>44</td><td> </td><td> </td><td> </td><td> </td></tr></table>function __jsonText($array){ header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); header("Cache-Control: no-store, no-cache, must-revalidate"); header("Cache-Control: post-check=0, pre-check=0", false); header("Pragma: no-cache"); $str = "{"; foreach($array as $key=> $value) { $value = str_replace("\"", "\\\"", $value); if($str != "{") $str.=","; $str .= "$key: " . "\"$value\""; } $str .= "}"; return $str;}//查询数据库//具体根据ID查询数据库,然后构造一个数组,然后调用__jsonText$arrTable = array('name'=>"test1", 'description'=>"description1", 'test2'=>'test3', 'id'=>$_POST['id'] );echo __jsonText($arrTable); 点击22,33,44,55会查询.ie7 ff3测试通过 去下载个 jquery. jquery 使用ajax很方面. 然后代码向这样:首先加载这个 jquery.js;事例如下:(你下个 jquery.js 然后执行下面的应该就知道了)<?php if($_GET['name']){ echo '100001';exit; }?><html><head><title>test</title></head><script language="JavaScript" type="text/javascript" src="http://127.0.0.1/test/jquery.js"></script><script type="text/javascript">function getName(name){$.get('?name='+name+'&f='+Math.random(),null,function (msg) { if (msg) { //alert(msg); $('#tel').html(msg); }else{ alert('shibai'); }})}</script><body><table><tr><Td onclick="getName('name');" id="name">name</Td><td id="tel"></td></tr></table></body></html> <!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>无标题文档</title></head><?php include"publiccon.php"; // 连接数据库$sql="select*from student "; $result=mysql_query($sql); //查询全部$ss=$_GET['ttdd']; //取出td里的姓名做为查询条件$sql2="select*from student where name='".$ss."'";$result2=mysql_query($sql2); //根据姓名查询 ?> <script language="JavaScript" type="text/javascript" src="jquery.js"> </script> <script type="text/javascript"> function getName(name){ $.get('?ttdd='+name+'&f='+Math.random(),null,function (msg) { if (msg) { //alert(msg); $('#tel').html(msg); }else{ alert('shibai'); } } ) } </script> <body> <table width="482" height="136" border="0" > <tr> <th height="21"><div align="center">姓名</div></th> <th width="77" height="32"><div align="center">姓别</div></th> <th width="76"><div align="center">年龄</div></th> <th width="185"><div align="center">地址</div></th> </tr> <tr> //这个tr如果去掉的话就不会显示点击查到的记录****************** <td id="tel" bgcolor="#666633"><div align="center"></div></td> <td id="tel" bgcolor="#666633"><div align="center"></div></div></td> <td id="tel" bgcolor="#666633"><div align="center"></div></div></td> <td id="tel" bgcolor="#666633"><div align="center"></div></td> </tr> <?php while($arr2=mysql_fetch_array($result2)) //根据姓名查询显示 { ?> <tr> <td id="tel" bgcolor="#CCCCCC"><div align="center"><?php echo $arr2["name"];?></div></td> <td id="tel" bgcolor="#CCCCCC"><div align="center"><?php echo $arr2["sex"];?></div></div></td> <td id="tel" bgcolor="#CCCCCC"><div align="center"><?php echo $arr2["age"];?></div></div></td> <td id="tel" bgcolor="#CCCCCC"><div align="center"><?php echo $arr2["address"];?></div></td> </tr> <? } ?> <?phpwhile($arr=mysql_fetch_array($result)) //显示全部信息{ ?> <tr> <td id="ttdd" onclick="getName('<?php echo $arr["name"];?>');" bgcolor="#CCCCCC"><div align="center"><?php echo $arr["name"];?></div></td> <td id="ttdd" onclick="getName('<?php echo $arr["name"];?>');" bgcolor="#CCCCCC"><div align="center"><?php echo $arr["sex"];?></div></td> <td id="ttdd" onclick="getName('<?php echo $arr["name"];?>');" bgcolor="#CCCCCC"><div align="center"><?php echo $arr["age"];?></div></td> <td id="ttdd" onclick="getName('<?php echo $arr["name"];?>');" bgcolor="#CCCCCC"><div align="center"><?php echo $arr["address"];?></div></td> </tr> <? } ?> </table></body> </html>现在的问题是,点击表格的确显示查出了td里的姓名,可显示有问题,按照以上的代码会又重新执行了一次,而且全部挤在同一个td里(而且查出的是全部的记录,不过第一条是点击查出的),就是注释行里有*号的那个tr里的第一个td,然后最下面又有显示全部的记录,就是显示查了两次全部的记录.还有一问题,就是我如果点击的是中文的话就查不到,我把sql2语句打印出来,姓名条件是乱码,怎回事呀,以上代码需改哪里呀,多谢了!不知说得够不够清楚! 分两个页面去做。。html显示页面.ajax处理页面。 无语, ie6,7 ff3都测试成功,你竞然说没有反映.呵呵. //查询数据库//具体根据ID查询数据库,然后构造一个数组,然后调用__jsonText楼上的把这两个代码写一下吧,可能是我写错了,虚心请教了! 本身我哪块没有连接数据库,连接数据库部分自己提供就可以了.我只完成了,将id值传给php页面,然后php页面将ID返回.这个过程已经完整的走完了,别的部分自己做就行了.不过告诉我你不会调试.哪个index.php,你可以单独执行,看打印出来的数据是否为正确的json格式. 哪位大侠帮我看看我的PHP代码错在哪里为什么验证不了!! $_SEVER如何使用 我如何使用php接收xmlhttp以post方式传过来的参数? 一个select下拉框,我想让他自动选中某值对应的,js怎么弄? 求一个正则!!! 关于一个php后台管理多台服务器前台 关于二级域名的疑问 关于自动换行 怎样在英国的服务器上显示北京日期时间? SAE的mysql数据库预定义SAE_MYSQL_HOST_M 等在那里定义了? 散分 找北京职位 请问大家用哪家的Linux 做服务器好呢?
明白了,你会觉得很简单的。
http://www.phpchina.com/html/72/30772-9103.html
提供个例子给你看看。。
这个也不错的
<script language='javascript'>
jQuery(function($)
{
$("#tTest td.test").click(function(ee){
var id = $(this).html();
var ee=window.event||ee;
var tmpObj = ee.srcElement || ee.target;
$.ajax({
type:"post",
url: "index.php",
dataType:"json",
data: "id=" + id,
success: function(jsonObj)
{
var rowObj = tmpObj.parentNode; rowObj.childNodes[1].innerHTML = jsonObj.name;
rowObj.childNodes[2].innerHTML = jsonObj.description;
rowObj.childNodes[3].innerHTML = jsonObj.test2;
rowObj.childNodes[4].innerHTML = jsonObj.id;
}//success
});
});
});
</script><table id='tTest' border='1' width='500'>
<tr><td class='test'>22</td><td> </td><td> </td><td> </td><td> </td></tr>
<tr><td class='test'>33</td><td> </td><td> </td><td> </td><td> </td></tr>
<tr><td class='test'>44</td><td> </td><td> </td><td> </td><td> </td></tr>
</table>
function __jsonText($array)
{
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");
$str = "{";
foreach($array as $key=> $value)
{
$value = str_replace("\"", "\\\"", $value);
if($str != "{") $str.=",";
$str .= "$key: " . "\"$value\"";
}
$str .= "}"; return $str;
}
//查询数据库
//具体根据ID查询数据库,然后构造一个数组,然后调用__jsonText
$arrTable = array('name'=>"test1", 'description'=>"description1", 'test2'=>'test3', 'id'=>$_POST['id'] );
echo __jsonText($arrTable);
ie7 ff3测试通过
然后代码向这样:
首先加载这个 jquery.js;
事例如下:(你下个 jquery.js 然后执行下面的应该就知道了)
<?php
if($_GET['name']){
echo '100001';exit;
}?>
<html>
<head>
<title>test</title>
</head>
<script language="JavaScript" type="text/javascript" src="http://127.0.0.1/test/jquery.js"></script>
<script type="text/javascript">
function getName(name){
$.get('?name='+name+'&f='+Math.random(),null,function (msg) {
if (msg) {
//alert(msg);
$('#tel').html(msg);
}else{
alert('shibai');
}
}
)
}
</script>
<body>
<table>
<tr>
<Td onclick="getName('name');" id="name">name</Td>
<td id="tel"></td>
</tr>
</table>
</body>
</html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
</head>
<?php
include"publiccon.php"; // 连接数据库$sql="select*from student ";
$result=mysql_query($sql); //查询全部
$ss=$_GET['ttdd']; //取出td里的姓名做为查询条件
$sql2="select*from student where name='".$ss."'";
$result2=mysql_query($sql2); //根据姓名查询
?>
<script language="JavaScript" type="text/javascript" src="jquery.js"> </script> <script type="text/javascript">
function getName(name){
$.get('?ttdd='+name+'&f='+Math.random(),null,function (msg) {
if (msg) {
//alert(msg);
$('#tel').html(msg);
}else{
alert('shibai');
}
}
)
}
</script>
<body>
<table width="482" height="136" border="0" >
<tr>
<th height="21"><div align="center">姓名</div></th>
<th width="77" height="32"><div align="center">姓别</div></th>
<th width="76"><div align="center">年龄</div></th>
<th width="185"><div align="center">地址</div></th>
</tr>
<tr> //这个tr如果去掉的话就不会显示点击查到的记录******************
<td id="tel" bgcolor="#666633"><div align="center"></div></td>
<td id="tel" bgcolor="#666633"><div align="center"></div></div></td>
<td id="tel" bgcolor="#666633"><div align="center"></div></div></td>
<td id="tel" bgcolor="#666633"><div align="center"></div></td>
</tr>
<?php
while($arr2=mysql_fetch_array($result2)) //根据姓名查询显示
{
?>
<tr>
<td id="tel" bgcolor="#CCCCCC"><div align="center"><?php echo $arr2["name"];?></div></td>
<td id="tel" bgcolor="#CCCCCC"><div align="center"><?php echo $arr2["sex"];?></div></div></td>
<td id="tel" bgcolor="#CCCCCC"><div align="center"><?php echo $arr2["age"];?></div></div></td>
<td id="tel" bgcolor="#CCCCCC"><div align="center"><?php echo $arr2["address"];?></div></td>
</tr>
<?
}
?>
<?phpwhile($arr=mysql_fetch_array($result)) //显示全部信息
{
?>
<tr>
<td id="ttdd" onclick="getName('<?php echo $arr["name"];?>');" bgcolor="#CCCCCC"><div align="center"><?php echo $arr["name"];?></div></td>
<td id="ttdd" onclick="getName('<?php echo $arr["name"];?>');" bgcolor="#CCCCCC"><div align="center"><?php echo $arr["sex"];?></div></td>
<td id="ttdd" onclick="getName('<?php echo $arr["name"];?>');" bgcolor="#CCCCCC"><div align="center"><?php echo $arr["age"];?></div></td>
<td id="ttdd" onclick="getName('<?php echo $arr["name"];?>');" bgcolor="#CCCCCC"><div align="center"><?php echo $arr["address"];?></div></td>
</tr>
<?
}
?>
</table>
</body>
</html>现在的问题是,点击表格的确显示查出了td里的姓名,可显示有问题,按照以上的代码会又重新执行了一次,而且全部挤在同一个td里(而且查出的是全部的记录,不过第一条是点击查出的),就是注释行里有*号的那个tr里的第一个td,然后最下面又有显示全部的记录,就是显示查了两次全部的记录.还有一问题,就是我如果点击的是中文的话就查不到,我把sql2语句打印出来,姓名条件是乱码,怎回事呀,以上代码需改哪里呀,多谢了!不知说得够不够清楚!
html显示页面.
ajax处理页面。
呵呵.
我只完成了,将id值传给php页面,然后php页面将ID返回.
这个过程已经完整的走完了,别的部分自己做就行了.不过告诉我你不会调试.
哪个index.php,你可以单独执行,看打印出来的数据是否为正确的json格式.