如果mysql值包含来自不同表的另一个mysql值,则为echo

时间:2012-12-08 00:37:58

标签: php mysql

我有两张桌子,"客户"和"用户"。

在customers表中,我有一个标题为" name"的列。这有所有客户名称。

在我的用户表中,我有一个标题为" manage"的列。这有一些客户名称。

我正在尝试显示内容,如果"管理"来自"名称" CONTAINS 任何客户。

这是一个例子......

"名称"包含客户" applebees"," johnny carinos"," pizza hut"。

用户瑞克是"管理" "的Applebees"和"披萨小屋"。在他的行/列中,它看起来像" applebees,pizza hut" (我正在使用implode函数,这就是为什么有一个")

所以,在我的客户页面上,我想要rick看到applebees和pizza hut。我不想让他看到johnny carinos,因为他没有管理它。

我该怎么做?我试过preg match& amp; strpos但悲惨地失败了。 (我仍然是php的新手)。这个单值很容易,所以我可以设置value = value。不幸的是,拥有多个值来管理"真让我烦恼!

希望这是有道理的。谢谢你的帮助!

这是我现在所拥有的(是的,我知道,可能是非常错误的。)

<?php


$sql = "SELECT * FROM customers";
$result = mysql_query($sql);
        $thecust = $_SESSION['user']['managing'];
    $thecustomers = htmlentities($row['name']);


    $check = strprk(wing, $thecust);
    if ($check) {

while ($row = mysql_fetch_array($result)) {
?>

    <tr> 
        <td><?php echo "<a href='customer.php?id=" . $row['id'] . "'>" . $row['name'] . "</a>"?></td> 
        <td><?php echo htmlentities($row['contact_name'], ENT_QUOTES, 'UTF-8'); ?></td> 
        <td><?php echo htmlentities($row['contact_number'], ENT_QUOTES, 'UTF-8'); ?></td> 
        <td><?php echo htmlentities($row['contact_email'], ENT_QUOTES, 'UTF-8'); ?></td> 
    </tr> 

<? } ?>

1 个答案:

答案 0 :(得分:0)

答案在于您的数据库架构以及查询方式。你没有真正进入你的数据库表结构,但我建议你使用这样的东西

users
-------
user_id INT, autoincrement, PRIMARY KEY
user_name VARCHAR
[other user-specific fields]

users_to_customers
-------
user_id INT
customer_id INT
[compound primary key across both fields]

customers
-------
customer_id INT, autoincrement, PRIMARY KEY
customer_name VARCHAR
[other customer specific fields]

注意我这里有三张桌子。这允许您将任意数量的用户与任意数量的客户相关联。如果没有获得您正在寻找的信息,我们假设您知道查看客户页面的用户的user_id。您的查询可能看起来像

SELECT c.customer_id, c.customer_name, [whatever other fields you need]
FROM users AS u
INNER JOIN users_to_customers AS uc
INNER JOIN customers AS c
WHERE u.user_id = ? [the user_id of the user viewing the page]

这将为您提供与该用户相关的客户的客户信息。


如果不推荐使用mysql_*函数,也不应该使用它们(请注意PHP.net文档中的大红色警告)。也许使用mysqli_ *函数。