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这是一个很好的信息,我将对此进行修补!)