【问题标题】:Format PHP string for post action为发布操作格式化 PHP 字符串
【发布时间】:2011-06-29 09:01:03
【问题描述】:

我正在使用下拉框在表单中进行选择。

我有 4 个值('value1'、'value2'、'value3'、'value4')。每个都列在下拉框中。但我也想要一个所有 4 个值的选项,例如,这是我当前用于绘制下拉菜单的函数的数组:

$menuValues("'value1','value2','value3','value4'",'value1','value2','value3','value4');

然而,这会在操作页面上产生一个空变量。我需要保留每个值周围的单引号来提供一个函数,该函数反过来驱动一个 mysql 查询。这就是我使用双引号将第一个值括起来的原因。

这是下拉功能:

function frDrop($arr,$frm,$dropTitle) {
echo "<select name='".$frm."' id='".$frm."'><option value=''>".$dropTitle."...</option>";
    foreach ($arr as $key => $value) {
    echo "<option value='".$value."'>".$value."</option>";
    }
echo "</select>";
}

【问题讨论】:

  • 为什么不调用“全部”选项
  • 所有 4 个值的选项是什么意思?你的意思是有一个文本例如说“选择所有以上?”
  • 是不是无法识别出你选择了all值,然后在action页面中重新取回所有值?
  • 你也可以创建一个多选,你想要多个选择。
  • 您遇到的问题/错误是什么?您调用 menuValues() 的方式似乎没有任何问题。我的猜测是,双引号字符串中每个值周围的单引号在代码的其他地方是冲突的。尝试使用单引号而不是双引号,然后在每个值周围转义单引号。或者,您可以简单地在下拉菜单中说“全部”,而不是提供所有 4 个值作为选项。

标签: php mysql


【解决方案1】:

不清楚函数frDrop()在哪里调用,它的参数是什么意思。但是对于我下面的答案,我假设 $arr 是包含下拉选项的数组。所以,

$arr = array(
"'value1','value2','value3','value4'",
'value1',
'value2',
'value3',
'value4'
);

现在,正如我在上面的评论中猜到的那样,也许第一个数组值中的单引号 - “'value1','value2','value3','value4'” - 与单引号冲突在函数 frDrop() 的 foreach() 的标记中。这是第一个值的标记的外观:

<option value=''value1','value2','value3','value4''>'value1','value2','value3','value4'</option>

您可以尝试像这样转义单引号:

echo "<option value='".addslashes($value)."'>".$value."</option>";

或者,改为使用单引号将您的 PHP 语句括起来:

echo '<option value="' . $value . '">' . $value . '</option>';

希望这会有所帮助。

【讨论】:

  • 非常感谢!你很了解我的输出在做什么。
【解决方案2】:
    function frDrop($arr,$frm,$dropTitle) {
    $temp   =''
    $temp.="<select name='".$frm."' id='".$frm."'><option value=''>".$dropTitle."...</option>";
        foreach ($arr as $key => $value) {
        $temp.= "<option value='".$value."'>".$value."</option>";
        }
    $temp.="</select>";
    }
echo $temp

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-29
    • 1970-01-01
    • 2021-07-18
    • 1970-01-01
    相关资源
    最近更新 更多