Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 输出一个字段,根据true或false输出下一个字段_Php_Mysql_Sql - Fatal编程技术网

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这将要求我做与我最初做的相同的事情,对吗?