2013-11-18 3 views
0

У меня действительно нет идеи с этой проблемой. Я создаю новый плагин. Структура проста: div FreeQuotation_wrap2 (отображает таблицу), div FreeQuotation_wrap3 (вставить новые данные). Но после того, как новые данные и нажмите кнопку отправить страницу обновляется со старыми данными.Wordpress обновить таблицу после ввода новых данных

Когда я нажимаю кнопку «Обновить», я вижу информацию о том, что она будет пересылать данные в базу данных. Все в порядке - я помешал ему с уникальным. Теперь я вижу новую таблицу с новой записью. Как я могу сделать это автоматически?

Я пробую 3 метода: onSubmit = "" (не работает) и javascript (window.location = "...") и трюк с сеансом (я получаю заголовки ошибок, уже отправленные ...).

<?php 
global $FreeQuotation_version; 
global $wpdb; 
echo $table_name; 
global $today_date; 
$table_name = $wpdb->prefix . 'free_quotation_kic'; 

?> 
<div class="FreeQuotation_wrap"> 
    <h2><div class="FreeQuotation_header"></div> FreeQuotation <?php echo $FreeQuotation_version; ?></h2><br> 

</div> 
<div class="FreeQuotation_wrap2"> 
    <table class="widefat"> 
     <?php 
     $FreeQuotation_table = $wpdb->get_results(
     " 
     SELECT * 
     FROM $table_name 
     ORDER BY adding_date DESC 
     LIMIT 0 , 10 
     " 
     ); 
     //nagłówek 
      echo '<thead><tr><th> ID </th><th> Quotation </th><th> Author </th><th> Display Date </th><th> Delete </th></tr></thead>'; 
     //treść 
     foreach ($FreeQuotation_table as $ogresults) 
     { 
      echo '<tr><td>'; 
      echo $ogresults->id; 
      echo '</td><td>'; 
      echo $ogresults->quotation; 
      echo '</td><td>'; 
      echo $ogresults->author; 
      echo '</td><td>'; 
      echo $ogresults->display_date; 
       echo '</td></tr>'; 
     } 
     echo '<tfoot><tr><th> ID </td><th> Quotation </td><th> Author </td><th> Display Date </th><th> Delete </td></tr></tfoot>'; 
     ?> 
    </table> 
</div> 
<div class= "FreeQuotation_wrap3"> 
    <form method="post" action="options.php"> 
     <?php settings_fields('FreeQuotation_settings_filed'); ?> 
     <?php $options = get_option('FreeQuotation_options'); ?> 
    </form> 
<?php 

    global $current_user; 
    $ufUserID = $current_user->ID; 
    $quotation = $_POST["quotation_textarea"]; 
    $author = $_POST["autor_text"]; 
    $display_date = $_POST["display_date"]; 
    $url = $_SERVER['PHP_SELF']; 
    $adding_date = $today_date; 
    echo $url; 
    if ('POST' == $_SERVER['REQUEST_METHOD'] && !empty($_POST['action']) && $_POST['action'] == 'updateFeedback') { 
     $FreeQuotation = $wpdb->insert('wp_free_quotation_kic', array('quotation' => $quotation, 'author' => $author, 'display_date' => $display_date, 'adding_date' => $adding_date,)); 
    }?> 

    <a href="<?php echo $url;?>">TUTAJ</a> 
    <h3 class="widget-title">Add quotation</h3> 
    <form id='reloader' method='post' onSubmit="<?php echo $url;?>"> 
     <table class="widefat" > 
      <thead> 
      <tr><th>Quotation</th><th>Author</th><th>Display Date</th></tr> 
      </thead> 
      <tbody> 
      <tr><td> 
      <textarea rows="1" cols="100" name="quotation_textarea" required></textarea> 
      </td> 
      <td> 
      <input type="text" name="autor_text" required></input> 
      </td> 
      <td> 
      <input type="text" name="display_date" required></input> 
      </td></th> 
      </tbody> 
      <tfoot> 
      <tr><th> 
      <input class="button button-primary" type="submit" name="submit" value="submit"/> 
      <?php wp_nonce_field('updateFeedback'); ?> 
      <input name="action" type="hidden" id="action" value="updateFeedback"/> 
      </th></td> 
      </tfoot> 
     </table> 
    </form><br> 
</div> 
<div class="FreeQuotation_wrap4"> 
    <h3>Zmiany:</h3> 

</div> 
<?php 
?> 

Помогите мне? Это мой первый вопрос аренды (и я считаю, что последнее ...). Обычно, когда я пытаюсь написать вопрос, я нахожу ответ быстро :) Теперь я провожу несколько часов с этой проблемой, и я не вижу никакого решения ...

+0

Еще раз: * Не использовать пользовательские таблицы в WordPress, если вы можете легко избежать их * [ Вот почему и как его избежать] (http://stackoverflow.com/questions/20056441/developing-a-wordpress-plugin-seo-friendly/20056568#20056568) Это даст вам всевозможные полезные преимущества. Как «WP_Query», тегирование, категории, пули ... – Gant

+0

Я знаю WP_Query и т. Д., И я использую его, когда могу. Мне нужно использовать пользовательскую таблицу в другой ситуации, и именно поэтому я пытаюсь использовать ее в этом плагине. –

ответ

0

Я нахожу простое решение - это очень просто и это работа. Возможно, это не профессионально, но у меня нет другой идеи ...

Я изменяю заказ на странице. Во-первых, это форма добавления новой позиции, вторая - таблица с выходом. Это означает, что я меняю два порядка:

<div class= "FreeQuotation_wrap3"> 
... 
</div> 

<div class="FreeQuotation_wrap2"> 
... 
</div> 

И это мой первый ответ на stackoverflow.com ;-)

Смежные вопросы