jestem początkujący w temacie PHP. Piszę sobie wtyczkę do Wordpress do dodawania produktów i mam następującą zagwozdkę.
Mam jeden formularz z wprowadzaniem produktów i drugą stronę do przeglądania produktów. Chciałbym móc edytować dane produktów klikając przycisk edytuj obok rekordu na stronie przeglądania produktów i umieścić dane tego produktu w formularzu, tak żeby móc je nadpisać. Poniżej wrzucam to co już udało mi się napisać. Przy okazji proszę o uwagi odnośnie skryptu.
function wp_wykladziny_init() { wp_register_style('wp-wykladziny-css', plugins_url('style.css', __FILE__)); wp_enqueue_style('wp-wykladziny-css'); } add_action('init', 'wp_wykladziny_init'); require FLIF_PATH.'flif_model.php'; /* Tworzy tabelę bazy danych dla wtyczki */ function flif_install() { $table = $wpdb->prefix . "fl_insert_floor"; $charset_collate = $wpdb->get_charset_collate(); $sql = "CREATE TABLE IF NOT EXISTS $table ( `id` mediumint(9) NOT NULL AUTO_INCREMENT, `name` text NOT NULL, UNIQUE (`id`), `obj_box` text NOT NULL, `material` text NOT NULL, `producer` text NOT NULL, `installation` text NOT NULL, `characteristic` text NOT NULL, `content` text NOT NULL, `gr_fleece` text NOT NULL, `gr_total` text NOT NULL, `height_total` text NOT NULL, `height_fleece` text NOT NULL, `tuft` text NOT NULL, `fire_class` text NOT NULL, `sound_absorb` text NOT NULL, `description` text NOT NULL ) $charset_collate;"; require_once( ABSPATH . 'wp-admin/includes/upgrade.php' ); dbDelta( $sql ); } register_activation_hook(__FILE__, 'flif_install'); /** * Dodawanie wtyczki do panelu administracyjnego */ function flif_plugin_menu() { add_menu_page('Wykładziny', 'Wykładziny', 'administrator', 'flif_settings', 'flif_display_settings'); add_submenu_page('flif_settings', __('Wprowadź produkt'), __('Wprowadź produkt'), 'edit_themes', 'flif_propert', 'flif_propert'); add_submenu_page('flif_settings', __('Przeglądaj wykładziny'), __('Przeglądaj wykładziny'), 'edit_themes', 'flif_browsing', 'flif_browsing'); } add_action('admin_menu', 'flif_plugin_menu'); //Wyswietla formularz dodawania produktu do bazy function flif_propert() { { $table = $wpdb->prefix."fl_insert_floor"; $wpdb->insert( $table, 'name' => $name, 'obj_box' => $obj_box, 'material' => $material, 'producer' => $producer, 'installation' => $installation, 'characteristic' => $characteristic, 'content' => $content, 'gr_fleece' => $gr_fleece, 'gr_total' => $gr_total, 'height_total' => $height_total, 'height_fleece' => $height_fleece, 'tuft' => $tuft, 'fire_class' => $fire_class, 'sound_absorb' => $sound_absorb, 'description' => $description ) ); }
Wrzucam resztę kodu, gdyż nie zmieścił się:
// adds a shortcode you can use: [insert-into-db] add_shortcode('flif-db-insert', 'flif_insert_into_db'); echo '<form action="?page=flif_propert" method="post"> <label for="name">Nazwa</label><input name="name" type="text" style="width: 50%;" value="" > </br></br> <label for="producer">Producent</label> <select name = "producer"> <option>Altro</option> <option>Balsan</option> <option>Burmatex</option> <option>Fatra</option> <option>Forbo</option> <option>Ideal</option> <option>Lano</option> <option>Lentex</option> <option>Modulyss</option> <option>Tarkett</option> <option>Tecsom</option> <option>Timzo</option> <option>...inny</option> </select> </br></br> <label>Typ obiektu:</label></br> <input type="checkbox" value="Hotele i pensjonaty" name="obj_box[]" >Hotele i pensjonaty <input type="checkbox" value="Obiekty sportowe" name="obj_box[]" >Obiekty sportowe <input type="checkbox" value="Szkoły" name="obj_box[]" >Szkoły</br> <input type="checkbox" value="Biura" name="obj_box[]" >Biura <input type="checkbox" value="Domy i mieszkania" name="obj_box[]" >Domy i mieszkania <input type="checkbox" value="Kina, teatry, restauracje" name="obj_box[]" >Kina, teatry, restauracje</br> <input type="checkbox" value="Wojsko, policja" name="obj_box[]" >Wojsko, policja <input type="checkbox" value="Sklepy" name="obj_box[]" >Sklepy <input type="checkbox" value="Szpitale i służba zdrowia" name="obj_box[]" >Szpitale i służba zdrowia</br> <input type="checkbox" value="Przemysł" name="obj_box[]" >Przemysł <input type="checkbox" value="Laboratoria" name="obj_box[]" >Laboratoria </br></br> <label for="material">Materiał wykonania</label> <select name = "material"> <option>Dywanowa</option> <option>PVC Homogeniczna</option> <option>PVC Heterogeniczna</option> <option>Winylowa LVT</option> <option>Linoleum</option> </select> </br></br> <label>Instalacja:</label></br> <input type="checkbox" value="Rolka" name="installation[]" >Rolka <input type="checkbox" value="Płytka" name="installation[]" >Płytka <input type="checkbox" value="Panel" name="installation[]" >Panel </br></br> <label>Charakterystyka:</label></br> <input type="checkbox" value="Redukcja dźwięków" name="characteristic[]" >Redukcja dźwięków <input type="checkbox" value="Bakteriostatyczna" name="characteristic[]" >Bakteriostatyczna <input type="checkbox" value="Antypoślizgowa" name="characteristic[]" >Antypoślizgowa <input type="checkbox" value="Ognioodporna" name="characteristic[]" >Ognioodporna </br></br> <label for="content">Skład:</label><input name="content" type="text" style="width: 10%;" value="" > <label for=""></label>Gramatura runa:</label><input name="gr_fleece" type="text" style="width: 10%;" value="" ></br> <label for=""></label>Gramatura całkowita:</label><input name="gr_total" type="text" style="width: 10%;" value="" > <label for=""></label>Wysokość całkowita:</label><input name="height_total" type="text" style="width: 10%;" value="" ></br> <label for=""></label>Wysokość runa:</label><input name="height_fleece" type="text" style="width: 10%;" value="" > <label for=""></label>Ilość splotów:</label><input name="tuft" type="text" style="width: 10%;" value="" ></br> <label for=""></label>Klasa palności:</label><input name="fire_class" type="text" style="width: 10%;" value="" > <label for=""></label>Absorpcja dźwięku:</label><input name="sound_absorb" type="text" style="width: 10%;" value="" ></br> </br></br> <label for="name">Opis</label><textarea name="description" rows="14" cols="120" value="" ></textarea> </br></br><input type="submit" value="' . __('Save') . '" /></td></tr> </form>'; echo ' <script type="text/javascript"> jQuery(document).ready(function($) { $("table .delete").click(function() { $(this).parent().parent().remove(); return false; }); </script> '; } //Formularz do przeglądania wykładzin function flif_browsing() { $table = $wpdb->prefix . "fl_insert_floor"; foreach ($result as $result1) { $id=$_POST['id']; } } // Edycja wpisu do bazy danych