如果 $post 存在,PHP 基本回显

Posted

技术标签:

【中文标题】如果 $post 存在,PHP 基本回显【英文标题】:PHP basic echo if $post exist 【发布时间】:2013-06-14 14:13:47 【问题描述】:

我是 php 新手,我正在使用 php 到 mysql 通过复选框表单查询一些数据以供内部使用,使用带有 $POST 的 html 复选框 我的变量将是 datetime、varchar、integer 之类的东西。例如,用户可以检查列 'date'、'user_id'、'username'、'revenue'

用户可以选择列名,我需要将输出放入 html 表中

用户可以选择一个或所有列名,因此生成的回显必须能够适应。

如果未选中复选框,我可以在 mysql 查询中使用 isset($_POST['email_address']) 来选择列而不会出现问题,但现在确定如何生成没有重复 html 标记的回显。

我会用

while ($row = mysql_fetch_assoc($sqlResult)) 
    echo "'<td>'isset($_POST['email_address'])'</td><td>'isset($_POST['username'])'</td>'" ;    

但是我会有空列。

我只需要在结果表中包含选定的列。我该怎么做呢?

【问题讨论】:

您不能在字符串中运行 php 代码。例如echo "print('x')" 不会执行 print 语句,不管你是否用 包围它。您只会打印出pri 等... 请不要使用mysql_query 编写新应用程序。这是一个已弃用的接口,它将在 PHP 的未来版本中删除。 Updating to PDO is not hard 将来会为您省去很多麻烦。 【参考方案1】:

只需将标签移动到if() 语句中:

if(isset($_POST['email_address']))

    echo "<td>$_POST['email_address']</td>";

if(//...)

    //...

//...

【讨论】:

正是我正在寻找的形式只是不知道如何写它【参考方案2】:

PHP 不会仅插入简单变量的表达式,您必须连接输出。

你可能追求的是

while ($row = mysql_fetch_assoc($sqlResult)) 
    echo "<td>".(isset($_POST['email_address'])?$_POST["email_address"]:"No Email")."</td>".
         "<td>".(isset($_POST['username'])?$_POST["username"]:"No Username")."</td>" ;    

或取消字段,您可以计算您丢失的字段的数量并使用 str_repeat

$numFields = (isset($_POST['email_address'])?1:0) +
             (isset($_POST['email_address'])?1:0);

echo str_repeat("<td></td>", $numFields);

【讨论】:

他不需要空列 m8 我需要 if( 解决方案,而不是空白/静态值列【参考方案3】:

这样,您的列单元格只有在您的帖子变量已设置时才会出现。

while ($row = mysql_fetch_assoc($sqlResult)) 
    if (isset($_POST['email_address'])) 
        echo '<td>'.$_POST['email_address'].'</td>';
        
    if (isset($_POST['username'])) 
        echo '<td>'.$_POST['username'].'</td>';
        
    

【讨论】:

以上是关于如果 $post 存在,PHP 基本回显的主要内容,如果未能解决你的问题,请参考以下文章

如何让 PHP 回显 XML 标签?

PHP 字符串回显结束前的一件事

PHP 介绍php的一些基本语法,配合wamp,跟着案例来学习GET和POST请求( 非常详细 )

从 PHP 中提取超过 1 个回显

在php中回显/返回一个数组

在 WordPress 中回显父页面的副标题?