Php 如何从记录等于1的列中提取数据?

Php 如何从记录等于1的列中提取数据?,php,mysql,Php,Mysql,我会尽力向你解释我的问题。我在寻求建议,因为我陷入僵局。 我有一个网上商店的数据库(它不卖任何东西,只是向人们展示所有者的产品) 我有两个(他们比较多,但对于这种情况,我们只考虑其中两个)表。首先: products name | gender | id_product | etc.. john male 23 在第二部分: id_product | man_56 | man_54 | man_52 | man_50 | etc... 23

我会尽力向你解释我的问题。我在寻求建议,因为我陷入僵局。 我有一个网上商店的数据库(它不卖任何东西,只是向人们展示所有者的产品)

我有两个(他们比较多,但对于这种情况,我们只考虑其中两个)表。首先:

products name | gender | id_product | etc..

    john        male     23
在第二部分:

id_product | man_56 | man_54 | man_52 | man_50 | etc...

 23         0         1       0        1
id\u产品
与第一个表相同。它用于链接两个表。另外
1=可用,0=不可用

截图:

现在我不知道如何只选择/打印记录为1而不是0的列。是否需要指定表的每一列的名称?

您可以使用

SELECT * from tablename where columname = 1
tablename是您的表(即产品)名称 columnname是要检查的字段的名称

SELECT * FROM TableName WHERE 1 IN (ColumnOne,ColumnTwo,ColumnThree...)

有关更多信息,请查看此

我已使用多个“如果”解决了我的问题。感谢大家:D

你们需要更多地解释这个问题。首先,显示多行数据,再加上您想要的结果将有助于确定。我已经在我的表格上做了一个屏幕,向你展示了它的想法:结果应该是(只在列名称=1的地方打印):对于id产品15可用尺寸:女士:40,42对于id产品=12可用尺寸:儿童7,9看起来你的评论被删掉了-请用细节编辑你的问题,对不起。我现在已经完成了,正确的方法是规范化数据库。但是,对于该数据结构,最好只选择整行,然后在打印“是”之前检查每个值是否=1,但当“columname”不止一个时?