Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.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 为foreach循环中的每个选项指定唯一名称_Php_Loops_Foreach_Syntax_Uniqueidentifier - Fatal编程技术网

Php 为foreach循环中的每个选项指定唯一名称

Php 为foreach循环中的每个选项指定唯一名称,php,loops,foreach,syntax,uniqueidentifier,Php,Loops,Foreach,Syntax,Uniqueidentifier,早上好 我有以下表格: <form name="changeImage" method="post" style="padding-bottom: 5%; border-bottom: 1px dotted black; margin-bottom: 5%;" > <select name="change[]" id="change" form="changeImage" style="width: 97%;"> <?php

早上好

我有以下表格:

<form name="changeImage" method="post" style="padding-bottom: 5%; border-bottom: 1px dotted black; margin-bottom: 5%;" >
    <select name="change[]" id="change" form="changeImage" style="width: 97%;">
        <?php 
            foreach(glob('images/backgrounds/*.*') as $filename){
                echo '<option value="'.$filename.'">'.$filename.'</option>';
            }
        ?>
    </select>
    <input type="submit" name="changeBGimage" id="changeBGimage" value="Change BG Image" style="width: 97%;" />

    <?php 
        if(isset($_POST['changeBGimage'])) {
            $updateBG = "UPDATE grow_backgroundImage SET filePath = '".$_POST['change']."'";
            $updateBGQuery = $conn->query($updateBG);
        }
    ?>
</form>


感谢@MonkeyZeus和@FunkFortyNiner的帮助。 使用以下代码解决了此问题:

<form name="changeImage" method="post" style="padding-bottom: 5%; border-bottom: 1px dotted black; margin-bottom: 5%;" >
<select name="change" id="change" style="width: 97%;">
<?php 
    foreach(glob('images/backgrounds/*.*') as $filename){
        echo '<option value="'.$filename.'">'.$filename.'</option>';
    }
?>
</select>
<input type="submit" name="changeBGimage" id="changeBGimage" value="Change BG Image" style="width: 97%;" />

<?php 
    if(isset($_POST['changeBGimage'])) {
        $updateBG = "UPDATE grow_backgroundImage SET filePath = '".$_POST['change']."'";
        $updateBGQuery = $conn->query($updateBG);

        echo '<pre>'.print_r($_POST, true).'</pre>';
    }
?>
</form>


使用
$updateBG=“UPDATE grow\u backgroundImage SET filePath=”$\u POST['change']。“”相反注意:您意识到您将像那样更新整个数据库。除非你想这么做,“但是所有的值都等于foreach循环中的最后一个值”——对;正如我刚才所说,;你没有WHERE
子句
不使用name属性,只有
使用。我要投票淘汰这个。@MonkeyZeus$updateBG=“UPDATE grow\u backgroundImage SET filePath=”$\u POST['change']”;不起作用,因为改变并不是作为一个数组创建的,我想我也在其中扮演了一个小角色;-)绝对地编辑:)非常感谢你们两位。:-)我觉得有点奇怪,为什么id和某些名称属性会做出这样的反应。这是我第一次。哦,不客气,科迪。只是另一个你可能想知道的注意事项。如果您正在使用此工具联机,请记住,您可以使用
glob('images/backgrounds/*.jpg')
,甚至可以将其作为数组传递,因为它需要额外的参数。如果您碰巧在同一文件夹中有一个索引文件,那么该文件也将显示在下拉选择中,并可能导致问题。除非您在
.htaccess
中做了其他事情,否则我会走这条路。@FunkFortyNiner这是一个很好的信息,我将对此进行修补!)