我有这个代码,假设从mysql获取数据,有用户列表,所以如果你点击一个用户,它将显示用户的详细信息,但每当我点击例如用户3或4时,它只获取用户1。我需要帮助 这是
fetch.php
<?php
$connection = mysql_connect('localhost', 'root', '');
$db = mysql_select_db('temp', $connection);
$x = $_POST['id'];
$safex = mysql_real_escape_string($x);
$query = mysql_query("select * from class where id=$safex", $connection);
$result = "";
$result .= "<div id='display'>";
$result .="<table border=\"1\">";
$result .="<tr><th>Name</th><th>Password(encrypted)</th></tr>";
while($row = mysql_fetch_assoc($query)){
$result .= "<tr><td> {$row['name']}</td>"."<td> {$row['password']}</td></tr></p>";
}
$result .="</table>";
$result .= "</div>";
echo $result;
?>
,这是
的index.php
<?php
$connection = mysql_connect('localhost', 'root', '');
$db = mysql_select_db('temp', $connection);
?>
<html>
<head>
<title>Fetch record using jQuery</title>
<style type="text/css">
#display {
margin : 225px;
}
</style>
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$('document').ready(function(){
$('a').click(function(){
var temp = $('a').attr('myval');
$.post('fetch.php', {id:temp}, function(data){
$('#display').html(data);
});
});
});
</script>
</head>
<body>
<?php
$query = mysql_query("select * from class order by id desc LIMIT 2", $connection);
echo "<ul>";
while($row = mysql_fetch_assoc($query)){
echo "<li><a href=\"javascript:return(0)\" myval=\"{$row['id']}\"><h3>{$row['name']}</h3></a></li>";
}
echo "</ul>";
?>
<div id="display"></div>
</body>
</html>
<?php
mysql_close($connection);
?>
答案 0 :(得分:0)
使用mysql_fetch_array()
mysql_fetch_assoc()
intesd
while($row = mysql_fetch_array($query)){
$result .= "<tr><td> {$row['name']}</td>"."<td> {$row['password']}</td></tr></p>";
}
答案 1 :(得分:0)
问题不在数据库中。 代码的问题是声明
var temp = $('a').attr('myval');
使用以下代码:
$('a').click(function(this){
var temp = $(this).attr('myval');
$.post('fetch.php', {id:temp}, function(data){
$('#display').html(data);
});
});
变量&#39; temp&#39;总是获取锚标记的第一个id。 其余的代码都没问题。
答案 2 :(得分:-1)
感谢'Honza Haering'现在正在使用,问题是我使用了var temp = $('a')。attr('myval')但正确的是这个var temp = $(this).attr('设为myVal')