1

我有一个 MYSQL 数据库,其设置如下:user varchar(50)。类型 1 整数(50)。类型 2 整数(50)。我想创建一个 php 脚本,我可以在其中执行http://example.com/main.php/?user=example,页面将显示一个列表,其中列出了所有等于 1 的整数的名称。

我无法确定行数,因为将从另一个 php 文件添加更多行。我只能说第 1 行将被称为用户并且是一个 varchar。每隔一行的默认值将是整数将是 0。

谢谢

4

1 回答 1

0

这个问题很不清楚,但我认为你的意思是你有一个这样的数据库表

  user  varchar2(50)
  type1 int(50)
  type2 int(50) 

有一些像这样的数据(对不起,这有点像米老鼠的例子:)

  user          type1       type2     type3
  -----------------------------------------
  mickey            0           1         0
  donald            1           1         0
  pluto             1           1         1

如果浏览器调用带有参数user=donald的网页,你想显示

  type1
  type2

那正确吗 ?

似乎有点奇怪,但如果是这种情况,您似乎更有可能想要一个包含类型的列,以便您可以对它使用 select 语句

  user           type
  -----------------------
  mickey            type2
  donald            type1
  donald            type2
  pluto             type1
  pluto             type2
  pluto             type3

然后要获取属于用户的所有类型,您可以使用 SQL 选择,例如

  SELECT type from <table> where user='mickey';

这将返回

  type
  --------
  type2 

通过非规范化,我们将有一个用户表、一个类型表和一个 user_type 表来节省空间

  user

  id       name
  --------------------
  1        Mickey
  2        Donald
  3        Pluto

  type

  id       type
  --------------------
  1        type 1
  2        type 2
  3        type 3

  user_type

  user_id     type_id
  --------------------      
  1            2
  2            1
  2            2
  3            1
  3            2
  3            3 

然后我们的选择变成

 SELECT type FROM user as u, user_type as ut, type as t 
 where u.id=ut.user_id
   and ut.type_id=t.id
   and u.name='Mickey' 

然后,这将只存储该类型/用户组合实际存在值的数据。然后,您只需将此选择嵌入到 php 中即可进行选择并检索您想要的数据。

于 2012-07-31T13:50:54.460 回答