php条件下如何实现点击左边记录名,具体内容在页面右边显示?
我做了一个网页,左边的一列是逐条显示的记录名,是我通过循环语句从mysql中读取并每行显示出来的。而右边是每条记录的具体内容框架(就是很多空框)。希望实现的目标是:点击左边任何一条记录名称,在右边的各个空框中就具体显示出该记录具体内容(其实就是每个字段的内容给填充到每个空框中去)。
该用怎样的简单框架实现左边的记录名称可点击呢?然后又传递什么变量来控制读取记录,把具体记录信息从mysql读取出来呢(貌似有了该记录内容,显示在各个空框中不难,我可以完成这一步)?当然该每条记录的具体内容在mysql都已经存在,查询即可。
这里的大牛们请多多帮忙啊,这是我第一次问问,事关紧急啊。谢谢。
[解决办法]
demo地址 http://www.colg.biz/demo/d1.php
代码
显示页
<?php
header("Content-Type:text/html;charset=utf-8");
mysql_connect('localhost','colg_demo','colg__');
mysql_select_db('colg_demo');
function getdata($sql)
{
$result=mysql_query($sql);
if($result)$count = mysql_num_rows($result);
for($i=0;$i<$count;$i++)
{
mysql_data_seek($result,$i);
$data[$i] = mysql_fetch_assoc($result);
}
return $data;
}
$data = getdata("select * from demo");
?>
<style type="text/css">
.left{float:left;width:100px;border:1px solid grey;height:300px;}
.right{float:left;width:800px;border:1px solid grey;height:300px;margin-left:15px;}
.left_button{margin:5px;border:1px solid #ccc;cursor:pointer;}
td{margin:1px;border:1px solid #ccc;}
</style>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$(".left_button").click(function(){
$(this).css("background","#EEE");
$(this).siblings().css("background","white");
var n = $(this).text();
$.ajax({
type:"get",
url:"ajax.php",
data:{
n:n
},
success:function(msg){
msg = eval("("+msg+")")
$(".show_tr").html(msg);
}
});
});
});
</script>
<div class="left">
<?php foreach($data as $each){?>
<div class="left_button"><?php echo $each['col3'];?></div>
<?php } ?>
</div>
<div class="right">
<table>
<tr>
<td>id</td>
<td>col1</td>
<td>col2</td>
<td>col3</td>
<td>col4</td>
<tr>
<trclass="show_tr">
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<td> </td>
<tr>
</table>
</div>
<?php
header("Content-Type:text/html;charset=utf-8");
mysql_connect('localhost','colg_demo','colg__');
mysql_select_db('colg_demo');
mysql_query("set names utf8");
function getdata($sql)
{
$result=mysql_query($sql);
if($result)$count = mysql_num_rows($result);
for($i=0;$i<$count;$i++)
{
mysql_data_seek($result,$i);
$data[$i] = mysql_fetch_assoc($result);
}
return $data;
}
if($_GET){
$n = $_GET['n'];
$data = getdata("select * from demo where col3 = '$n'");
if($data){
$html = "";
foreach($data[0] as $each){
$html .= "<td>".$each."</td>";
}
}
echo json_encode($html);exit;
}
?>