从具有连接的另一个表中获取数据

时间:2013-12-03 14:09:23

标签: php mysql sql join

我尝试了一些东西,但似乎没有任何工作,我将解释它必须做什么,
首先我有3个mysql表,

  1. tablename:客户
    客户的所有信息(姓名,邮政编码等)

  2. tablename:customers_companies
    只是来自表客户的customer_id和来自表公司的company_id

  3. tablename:users_companies
    只需来自表用户的user_id和来自表公司的company_id

  4. 首先,用户将公司添加到数据库,它将user_id和company_id添加到users_companies
    添加客户时,会将customer_id和company_id添加到customers_companies

    它必须回应来自customers_companies的所有客户的php,但只有当你是公司的一部分时才首先mysql检查customer_id并从customers_companies获取company_id 使用该company_id搜索允许在users_companies中查看客户的所有用户 当找到所有允许的用户时,它必须从表客户那里获得有关客户的所有信息,并在html / php的表格中回显它

    有人能帮帮我吗?如果您需要更多信息,请询问我将回答

    由于

    编辑:

                <tbody>
                <? $result = mysql_query("SELECT customers.* FROM `customers` LEFT JOIN `customers_companies` ON (`customer`.`id` = `customers_companies`.`company_id`) INNER JOIN `user_companies` (`customers_companies`.`company_id` = `customers_companies`.`company_id`) WHERE `customers_companies`.`bedrijf_id`");?>
                <? $i = 1;?>
                <? while($row = mysql_fetch_array($result)): ?>
                    <tr>
                        <td class="align-center"><? echo $i; ?></td>
                        <td> <?= $row['naam']; ?></td>
                        <td> <?= $row['adres']; ?></td>
                        <td> <?= $row['postcode']; ?></td>
                        <td> <?= $row['plaats']; ?></td>
                        <td> <?= $row['land']; ?></td>
                        <td> <?= 0,$row['telefoon']; ?></td>
                        <td>
                            <a href="#" class="table-icon edit" title="Edit"></a>
                            <a href="#" class="table-icon archive" title="Archive"></a>
                            <a onclick="return confirm('Weet je zeker dat je dit bedrijf  wilt verwijderen? alle gekoppelde items worden ook verwijdert zoals facturen, klanten, enz')" href="user.php?p=bedrijven&del=<?= $row['id'];?>" class="table-icon delete" title="Delete"></a>
                        </td>
                    </tr>
                    <? $i += 1; ?>
                <? endwhile; ?>
                </tbody>
    

1 个答案:

答案 0 :(得分:1)

SELECT c.*
       ,cc.*
       ,uc.*
    FROM customers_companies cc
    JOIN customers c
        ON cc.customer_id = c.id
    JOIN users_companies uc
        ON cc.company_id = uc.id
    WHERE uc.id = cc.company_id

这样的东西?