Php 输出一个字段,根据true或false输出下一个字段
我无法从这样的表中输出数据。这是一个配置文件表Php 输出一个字段,根据true或false输出下一个字段,php,mysql,sql,Php,Mysql,Sql,我无法从这样的表中输出数据。这是一个配置文件表 CREATE TABLE `prod_profiles` ( `p_add` VARCHAR(300) NULL DEFAULT NULL, `p_add_s` TINYINT(1) NULL DEFAULT '0', `p_phone` VARCHAR(300) NULL DEFAULT NULL, `p_phone_s` TINYINT(1) NULL DEFAULT '0', //and many more ) COLLATE=
CREATE TABLE `prod_profiles` (
`p_add` VARCHAR(300) NULL DEFAULT NULL,
`p_add_s` TINYINT(1) NULL DEFAULT '0',
`p_phone` VARCHAR(300) NULL DEFAULT NULL,
`p_phone_s` TINYINT(1) NULL DEFAULT '0',
//and many more
)
COLLATE='utf8_general_ci'
ENGINE=MyISAM;
在这里,p_add是地址,p_add_s(任何带有_s的内容)是决定用户是否要显示此数据的部分(0表示显示,1表示隐藏)
我需要显示如下数据:(这是管理部分)
我的问题是如何告诉php打印第一列,然后检查_scolumns值,而不使用php中的所有列名称,如下所示。我在这里迷路了
我现在的做法是:
while($form_data = mysql_fetch_array($exe_prof_form))
{
echo $form_data['sc_p_add']; if ($form_data['sc_p_add_s'] ==0){echo "Hide";}else{echo "Show";
//Remaining fields go here
// Any way I can get rid of these fields and do what I'm trying?
}
也许是这样:
$fields = array('sc_p_add', 'sc_p_phone');
while($form_data = mysql_fetch_array($exe_prof_form))
{
foreach($fields as $field){
echo $field;
echo ($form_data[$field.'_s'] == 0) ? "Hide" : "Show";
}
//Remaining fields go here
// Any way I can get rid of these fields and do what I'm trying?
}
也许是这样:
$fields = array('sc_p_add', 'sc_p_phone');
while($form_data = mysql_fetch_array($exe_prof_form))
{
foreach($fields as $field){
echo $field;
echo ($form_data[$field.'_s'] == 0) ? "Hide" : "Show";
}
//Remaining fields go here
// Any way I can get rid of these fields and do what I'm trying?
}
为什么不直接在sql语句中执行呢?这会让你的工作更轻松
SELECT p_add as `Address`,
IF(p_add_s = 0, 'Show', 'Hide') as `AddressStatus`,
p_phone as `PhoneNumber`,
IF(p_phone_s = 0, 'Show', 'Hide') as `PhoneStatus`,
FROM prod_profiles
为什么不直接在sql语句中执行呢?这会让你的工作更轻松
SELECT p_add as `Address`,
IF(p_add_s = 0, 'Show', 'Hide') as `AddressStatus`,
p_phone as `PhoneNumber`,
IF(p_phone_s = 0, 'Show', 'Hide') as `PhoneStatus`,
FROM prod_profiles
嗯,我想到了这个:(警告:前面的代码很难看)
while($row=mysql\u fetch\u数组($exe\u prof\u form)){
对于($i=0;$i嗯,我想到了这个:(警告:前面的代码很难看)
while($row=mysql\u fetch\u数组($exe\u prof\u form)){
对于($i=0;$iYes就是这样。我只是不想使用所有字段名,比如$form_data['sc_p_添加'];if($form_data['sc_p_添加']==0){echo“Hide”}或者{echo“Show”}现在有9个字段,可以添加更多的内容。任何避免这部分的方法都只需要几行代码。所以问题不是关于SQL的,是吗?你似乎想在PHP中完成所有的处理。我的意思是,如果是这样的话,请考虑删除<代码> SQL < /代码>标签。任何事情都可以。如果它在PHP中实现,那就好了,如果它的ACHI。sql中的evable也可以。是的。我只是不想使用所有字段名,比如$form_data['sc_p_add'];if($form_data['sc_p_add_s']==0){echo“Hide”}或者{echo“Show”}现在有9个字段,可以添加更多的内容。任何避免这部分的方法都只需要几行代码。所以问题不是关于SQL的,是吗?你似乎想在PHP中完成所有的处理。我的意思是,如果是这样的话,请考虑删除<代码> SQL < /代码>标签。任何事情都可以。如果它在PHP中实现,那就好了,如果它的ACHI。sql中的evable也可以。原则上,这是个好主意,但我必须说,它不喜欢将我的“模态”或查询(本例中的查询)包含表示逻辑。此外,如他在评论中所述,如果他想添加更多字段,他每次都必须修改查询。(在我的回答中,这只是扩展了数组)那么,如果OP以后想添加更多字段,那又有什么问题呢?我只是建议了最简单的方法来添加OP。我认为这比为循环中的每个记录添加条件要好:doutput这将要求我做与我最初做的相同的事情,对吗?原则上这是个好主意,但我必须说,它不喜欢有“模态”的想法,在这种情况下是查询,其中包含表示逻辑。此外,如他在注释中所述,如果他想添加更多字段,他每次都必须修改查询。(在我的回答中,这只是扩展数组)那么,如果OP以后想添加更多字段,那又有什么问题呢?我只是建议了最简单的方法来添加OP。我认为这比为循环中的每个记录添加条件要好:doutput这将要求我做与我最初做的相同的事情,对吗?