Title: WordPress Theme Options insert in custom database table with $wpdb-&gt;insert()
Last modified: August 21, 2016

---

# WordPress Theme Options insert in custom database table with $wpdb->insert()

 *  Resolved [wacoh_327](https://wordpress.org/support/users/wacoh_327/)
 * (@wacoh_327)
 * [12 years, 8 months ago](https://wordpress.org/support/topic/wordpress-theme-options-insert-in-custom-database-table-with-wpdb-insert/)
 * Hi,
 * I’ve been working out with this quite a long time and I can’t find a way how 
   to make it work.
 * I’m creating a simple theme option with my theme but putting all the options 
   to a custom database table.
    I want to know how $wpdb->insert() inserts all options
   like add_option().
 * This is my code – [http://pastebin.com/5xHBs6r2](http://pastebin.com/5xHBs6r2)
   
   If you look at line 209 **function stheme_initialize_theme_options()** you’ll
   see what I mean. I also created a function (function stheme_default_options())
   that holds the default options and return it with apply_filters().
 * I hope someone can help me with this as I’m really struggling with it for a week
   now.
 * Thank you!
    Best regards.

Viewing 5 replies - 1 through 5 (of 5 total)

 *  [esmi](https://wordpress.org/support/users/esmi/)
 * (@esmi)
 * [12 years, 8 months ago](https://wordpress.org/support/topic/wordpress-theme-options-insert-in-custom-database-table-with-wpdb-insert/#post-4183128)
 * >  but putting all the options to a custom database table.
 * Why?
 *  Thread Starter [wacoh_327](https://wordpress.org/support/users/wacoh_327/)
 * (@wacoh_327)
 * [12 years, 8 months ago](https://wordpress.org/support/topic/wordpress-theme-options-insert-in-custom-database-table-with-wpdb-insert/#post-4183174)
 * Yes Esmi, for much cleaner approach when installing and deactivating the theme.
   people don’t know about the amount of junk left inside db..
 * So I’m creating custom table so that when theme deactivates/ uninstall all will
   be deleted without affecting anything else.
 *  Thread Starter [wacoh_327](https://wordpress.org/support/users/wacoh_327/)
 * (@wacoh_327)
 * [12 years, 8 months ago](https://wordpress.org/support/topic/wordpress-theme-options-insert-in-custom-database-table-with-wpdb-insert/#post-4183189)
 * nevermind, got it from working. 🙂
 *  [iamjds](https://wordpress.org/support/users/iamjds/)
 * (@iamjds)
 * [11 years, 9 months ago](https://wordpress.org/support/topic/wordpress-theme-options-insert-in-custom-database-table-with-wpdb-insert/#post-4183393)
 * I was wondering if you could help me? I am trying to insert data into a custom
   table simply from a form post in the same file.
 * Here is my code:
 *     ```
       add_action( 'admin_menu', 'calc_on_admin_menu' );	
   
       public function calc_on_admin_menu() {
   
       		//create new top-level menu
       		add_menu_page( 'Product Calculator', 'Product<br>Calculator', 'manage_options' , 'product-measurement-calculator', array( $this, 'calc_page_setup' ), plugins_url( 'js_product_calculator/admin/img/calculator.png' ) );			
   
       	}
   
       function calc_page_setup() {
       		global $wpdb;
   
       		if (isset($_POST['submit']) ) {
       			$table_name = $wpdb->prefix . 'WH_settings';
       			echo 'testing';
   
       			for($i=0;$i<3; $i++){
       			   $wpdb->insert(
       				   $table_name,
       				   array(
       					   'prod_cat' => 'banners',
       					   'sqft_from' => $_POST['bannerFrom' . [$i]],
       					   'sqft_to' => $_POST['bannerTo' . [$i]],
       					   'm_price' => $_POST['bannerPrice' . [$i]],
       				   )
       			   );
       			}
       		}
       		else {
       		?>	
   
       	<div id="settings_wrap">
                 <div id="settings_main">
                    <h1>Product Calculator Settings</h1><hr/>
                    <h3>You can edit settings for specific product categories to work with the Product Calculator</h3>
                 </div>
                 <form action="" method="post">
                    <input type="submit" value="Save" id="top-submit" />
                        <div class="setting-section">
                            <h2>Banners | <input type="button" value="Add Pricing" /></h2>
                            <table>
                                 <tr>
                                       <th colspan="2">Measurement Range (sq. ft.)</th>
                                       <th>Price for Range ($ 0.00)</th>
                                  </tr>
                                  <?php
                                  	$DBresults = $wpdb->get_results('Select * from ' . $wpdb->prefix . 'WH_settings');
                                  	$result_count = count($DBresults);
                                  	for ($i = 0; $i < $result_count; $i++){
                                  ?>
                                 <tr><td><input type="text" name="<?php echo 'bannerFrom'.$i; ?>" value="<?php echo $DBresults->sqft_from[$i]; ?>"; /></td><td> - <input type="text" name="<?php echo 'bannerTo'.$i; ?>" value="<?php echo $DBresults->sqft_to[$i]; ?>" /></td><td><input type="text" name="<?php echo 'bannerPrice'.$i; ?>" value="<?php echo $DBresults->m_price[$i]; ?>" /></td></tr>
                                 <?php } ?>
                            </table>
                        </div>
       		<input type="submit" name="submit" value="Save" id="top-submit">
                 </form>
               </div>
       	<?php }
           }
       ```
   
 * I have tried different methods of wpdb->insert with and without the formatting,
   changing the form action to “options.php” and without but the data is never inserted
   into the table.
 * Do I need to call the calc_page_setup() function on POST?
 * thanks
 *  [iamjds](https://wordpress.org/support/users/iamjds/)
 * (@iamjds)
 * [11 years, 9 months ago](https://wordpress.org/support/topic/wordpress-theme-options-insert-in-custom-database-table-with-wpdb-insert/#post-4183394)
 * Nevermind, I figured it out. Thanks

Viewing 5 replies - 1 through 5 (of 5 total)

The topic ‘WordPress Theme Options insert in custom database table with $wpdb->insert()’
is closed to new replies.

## Tags

 * [database](https://wordpress.org/support/topic-tag/database/)

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 5 replies
 * 3 participants
 * Last reply from: [iamjds](https://wordpress.org/support/users/iamjds/)
 * Last activity: [11 years, 9 months ago](https://wordpress.org/support/topic/wordpress-theme-options-insert-in-custom-database-table-with-wpdb-insert/#post-4183394)
 * Status: resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
