php
  • html
  • mysql
  • sql
  • 2017-05-05 60 views 1 likes 
    1

    我有一個輸入,我想在輸入提交時運行一些sql查詢。 但我想爲每個輸入運行不同的sql查詢。例如,如果我將<?php echo $value['id'][$i]; ?>代碼放在輸入附近,它會在此圖像中顯示id。 Input Id's每個輸入不同的sql查詢

    輸入表格是這樣的:

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

    如果代碼是這樣的:

    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> 
    
    +0

    你好。我相信你的形象是錯誤的。我是對的? –

    +1

    其實沒有。它應該是這樣的,每個圖像下的輸入按鈕,以及每個圖像的不同sql查詢。 – Solhan

    +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")); 
    } 
    ?> 
    

    雖然它取決於你的查詢,以提交的各種情況究竟如何不同。

    +0

    你好Timoxa,謝謝你的回答。但如果我確實喜歡它,它就會變成這樣。 [鏈接](http://prntscr.com/f4mx5t) 我現在加入我的整個代碼,以便更好地解釋。 – Solhan

    +0

    非常感謝你,我認爲這個邏輯會起作用,但我得到了錯誤。 致命錯誤:調用成員函數update()在null中... – Solhan

    +0

    不客氣。對於這個錯誤,請檢查你的'$ wpdb'變量是否被初始化以及它保存了什麼值。 –

    相關問題