每个输入的不同sql查询

时间:2017-05-05 23:05:18

标签: php html mysql sql

我有一个输入,我想在输入提交时运行一些SQL查询。 但我想为每个输入运行不同的SQL查询。例如,如果我将<?php echo $value['id'][$i]; ?>代码放在输入附近,则会在此图像中显示ID。 Input Id's

我的输入表单是这样的:

<form action='' method='POST' style="margin-top: 213px;">   
<input type='submit' name='submit'/><?php echo $value['id'][$i]; ?>
</form>

我的 if 代码是这样的:

if(isset($_POST['submit'])){
$wpdb->update( $wpdb->options, array("option_value" => "ff0000"), array("option_name" => "theme-bg"), array("%s"), array("%s") );    } 

我想编辑代码并为每个输入按钮运行不同的sql查询。 我希望我能解释一下我的问题。

感谢您阅读。

Edit1:我的整个代码;

                        <?php
                    $i = 0;
                    foreach ($value['options'] as $box):
                        $checked = '';
                        $class = '';
                        $img_size = '';


                        if ($value['image_size'][$i])
                            $img_size = 'width="' . $value['image_size'][$i] . '"';
                        else if ($value['image_size'][$i] == false && $value['image_size'][0] == true)
                            $img_size = 'width="' . $value['image_size'][0] . '"';
                        else
                            $img_size = 'width=""';




                        if (get_option($value['id'][$i])) {
                            if (get_option($value['id'][$i]) == 'true') {
                                $checked = ' checked="checked"';
                                $class = ' acesra-img-selected';
                            }
                        } elseif ($value['default'][$i] == "checked") {
                            $class = ' acesra-img-selected';
                            $checked = ' checked="checked"';
                        }
                        ?>
                        <label class="self-theme-select<?php echo $class; ?>" for="<?php echo $value['id'][$i]; ?>">
                            <img  src="<?php echo $value['image_src'][$i]; ?>" alt="<?php echo $box ?>" />
                            <input class="acera-image-checkbox-b"  type="checkbox"<?php echo $checked; ?> name="<?php echo $value['id'][$i]; ?>" id="<?php echo $value['id'][$i]; ?>" />
                            <?php if ($value['show_labels'] == "true"): ?><p><?php echo $box; ?></p><?php endif; ?>
                            <form action='' method='POST' style="margin-top: 213px;">   
                                <input type='submit' name='submit'/><?php echo $value['id'][$i]; ?>
                        </form>
                        </label>
                        <?php if(isset($_POST['submit'])){

                            $wpdb->update( $wpdb->options, array("option_value" => "ff0000"), array("option_name" => "tema-bg"), array("%s"), array("%s") );
                            }  ?>

                        <?php
                        $i++;
                    endforeach;
                    ?>
                </div>

1 个答案:

答案 0 :(得分:0)

你可以这样做:

<form action='' method='POST' style="margin-top: 213px;">   
<input type='submit' name='submit1'/><?php echo $value['id'][$i]; ?>
<input type='submit' name='submit2'/><?php echo $value['id'][$i]; ?>
<input type='submit' name='submit3'/><?php echo $value['id'][$i]; ?>
</form>

然后:

if(isset($_POST['submit1'])){
$wpdb->update( $wpdb->options, array("option_value" => "ff0000"), array("option_name" => "theme-bg"), array("%s"), array("%s") );    } 
elseif(isset($_POST['submit2'])){
//another query for submit2
} 
elseif(isset($_POST['submit3'])){
//another query for submit3
} 
代码

已修改

更改了这一行:

<input type='submit' name='submit<?php echo $i ?>'/><?php echo $value['id'][$i]; ?>

这里我们动态创建name属性的值

<?php
$i = 0;
foreach ($value['options'] as $box):
$checked = '';
$class = '';
$img_size = '';

if ($value['image_size'][$i])
    $img_size = 'width="' . $value['image_size'][$i] . '"';
else if ($value['image_size'][$i] == false && $value['image_size'][0] == true)
    $img_size = 'width="' . $value['image_size'][0] . '"';
else
    $img_size = 'width=""';

if (get_option($value['id'][$i])) {
    if (get_option($value['id'][$i]) == 'true') {
        $checked = ' checked="checked"';
        $class = ' acesra-img-selected';
    }
} elseif ($value['default'][$i] == "checked") {
    $class = ' acesra-img-selected';
    $checked = ' checked="checked"';
}
?>

<label class="self-theme-select<?php echo $class; ?>" for="<?php echo $value['id'][$i]; ?>">
    <img  src="<?php echo $value['image_src'][$i]; ?>" alt="<?php echo $box ?>" />
    <input class="acera-image-checkbox-b"  type="checkbox"<?php echo $checked; ?> name="<?php echo $value['id'][$i]; ?>" id="<?php echo $value['id'][$i]; ?>" />
    <?php if ($value['show_labels'] == "true"): ?><p><?php echo $box; ?></p><?php endif; ?>
    <form action='' method='POST' style="margin-top: 213px;">
        <input type='submit' name='submit<?php echo $i ?>'/><?php echo $value['id'][$i]; ?>
    </form>
</label>

<?php
if(isset($_POST['submit0'])){
    $wpdb->update( $wpdb->options, array("option_value" => "ff0000"), array("option_name" => "tema-bg"), array("%s"), array("%s") );
}elseif(isset($_POST['submit1'])){
    // query for submit1
}elseif(isset($_POST['submit2'])){
    // query for submit2
}elseif(isset($_POST['submit3'])){
    // query for submit3
}
?>

<?php
$i++;
endforeach;
?>
</div>

我也编辑了这个块:

<?php
if(isset($_POST['submit0'])){
    $wpdb->update( $wpdb->options, array("option_value" => "ff0000"), array("option_name" => "tema-bg"), array("%s"), array("%s") );
}elseif(isset($_POST['submit1'])){
    // query for submit1
}elseif(isset($_POST['submit2'])){
    // query for submit2
}elseif(isset($_POST['submit3'])){
    // query for submit3
}
?>

但是这个可能适合你的foreach循环。 像这样:

<?php
if(isset($_POST['submit'.$i])){ // adding $i here
    $wpdb->update( $wpdb->options, array("option_value" => "ff0000"), array("option_name" => "tema-bg"), array("%s"), array("%s") );
}
?>

虽然这取决于您的查询在每个提交案例中的准确程度。