0

我有一个数据库,其中的成员的名字显示在我页面的列表中。每个成员名称都是一个链接,将用户带到一个新页面,该页面显示有关该所选成员的信息。我有文件data.phpmembers.php并且profiles.php

这是从数据库(data.php)中获取成员的代码:

$query = "SELECT name FROM members";
$result = mysql_query($query);

if (!$result) die ("Database access failed: " . mysql.error());

$rows = mysql_num_rows($result);

for($j=0; $j<$rows; $j++){
echo '<li><a href="profiles.php">' . mysql_result($result,$j, 'name') . '</a></li>';
}

Javascript (members.php):

<script type="text/javascript">
$.get("data.php", function(data) {
    $('#result').html(data);
});
</script>

HTML (members.php):

<fieldset data-role="controlgroup">
<p>Search for members of QRFC.</p>
<ul data-role="listview" data-theme="c" data-filter="true" id="result">
</ul>
</fieldset>

所以名称显示正确,现在我希望我的页面profiles.php显示成员信息。我处于停顿状态,不知道从哪里开始。

非常感谢您朝正确的方向踢球!

4

3 回答 3

0

在 url 中传递用户 ID:

echo '<li><a href="profiles.php?memberId=' . $row['id'] . '">' . $row['name'] . '</a></li>';

在profiles.php 文件上进行如下查询:

$query = "SELECT * FROM members WHERE memberId = '".$_GET['memberId']."'";
$result = mysql_query($result) or die(mysql_error());

之后,如您所知,用于获取成员信息的 while 循环......

于 2013-01-25T04:42:12.350 回答
0

在我看来,您需要执行以下操作:

1 - 当您获取成员时,还要获取他们的成员 ID(假设您有一个)。如果不是,我猜你可以使用他们的名字,假设它们是独一无二的。

2 - 将该 id 添加到您的 href 链接:<a href="profiles.php?memberId=' . mysql_result($result,$j, 'memberid') . '">

3 - 在您的profiles.php页面上,请求memberId - 这是一篇关于在php页面中请求变量的帖子:PHP Request.QueryString - $_GET with conditions not sure how to

4 - 最后查询您的数据库以获取有关所请求用户的其他信息。

希望这有助于您入门。

祝你好运。

于 2013-01-24T23:50:19.070 回答
0

您的 members.php 文件可以正常工作。

data.php (清理你的语法以不那么复杂)

$query = "SELECT name FROM members";
$result = mysql_query($query);

if (!$result) die ("Database access failed: " . mysql.error());

while ($row = mysql_fetch_assoc($result)):
  echo '<li><a href="profiles.php?memberId=' . urlencode($row['name']) . '">' . $row['name'] . '</a></li>';
endwhile;

重要提示:通过查询字符串传递字符串时,分别使用urlencodeurldecode

profile.php(至少查询检索部分)

$name = urldecode(trim($_GET['memberId'));
$query = "SELECT * FROM members WHERE memberId = '$name'";

另一个注意事项:如果您传递 ID 以从数据库中检索记录,最好使用数值而不是文本。这有助于减少 sql 注入。这里还有很多东西要学,但你必须从某个地方开始。

于 2013-01-25T01:41:52.230 回答