0

此代码正在运行并显示关系表。

<?php
$dbhost = 'localhost';
$dbuser = 'root';
$dbpass = 'password';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT member.*, account.*
    FROM member, account
    WHERE member.mem_id = account.mem_id';

mysql_select_db('databasename');
$retval = mysql_query( $sql, $conn ); 
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_array($retval, MYSQL_ASSOC))
{
echo "Account Number:{$row['Account_Number']}  <br> ".
     "First Name: {$row['fname']} <br> ".
     "Last Name: {$row['lname']} <br> ".
     "Address: {$row['address']} <br> ".
     "Contact: {$row['contact']} <br> ".
     "Share Capital: {$row['Share_Capital']} <br> ".
     "Regular Savings: {$row['Regular_Savings']} <br> ".
     "Power Savings: {$row['Power_Savings']} <br> ".
     "--------------------------------<br>";
} 
echo "Fetched data successfully\n";
mysql_close($conn);
?>

现在这是输出。

帐号: 名字:
姓氏:
地址: 联系人: 股本: 定期储蓄:

省电:

帐号: 名字: 姓氏: 地址: 联系人: 股本: 定期储蓄:

省电:

成功获取数据

现在我只想显示两个关系表中的一个帐户。例如,如果我查询我的帐号并输入它,则只会显示我的帐户详细信息,而不是每个成员。因此,在我的输出中,整个成员及其在数据库中的详细信息都会显示出来。我怎样才能设法从两个关系表中只显示一个帐户。

4

2 回答 2

0

您可以像这样扩展您的 where 条件,我以 $memid = 1 为例,您可以将 $memid 作为 POST 或 GET 或任何其他值传递给它

$memid = 1; // example
$sql = "SELECT member.*, account.* FROM member, account WHERE member.mem_id = account.mem_id AND member.mem_id = '".$memid."' ";

这可能会帮助你

于 2013-08-07T08:05:12.313 回答
0

您需要更新 SQL 以按您要查询的帐号进行过滤:

$sql = 'SELECT member.*, account.*
FROM member, account
WHERE member.mem_id = account.mem_id WHERE account.mem_id = '.intval($_GET['mem_id');

注意:这只是一个简单的示例,您可能需要更好的方法来构建 sql 语句

于 2013-08-07T08:06:23.430 回答