• Народ, нужна помощь, делаю плагин, не могу разобраться с одной штукой!

    Недавно подготовил функцию для добавления данных в таблицу:

    //Функция добавления строки в таблицу
    function doc_order_insert_item($name, $second_name, $middle_name, $dob, $doc, $quantity, $group) {
        global $wpdb;
        // подготавливаем данные  (Защита от SQL-инъекций)
        $name = esc_sql($name);
        $second_name = esc_sql($second_name);
        $middle_name = esc_sql($middle_name);
        $dob = esc_sql($dob);
        $doc = esc_sql($doc);
        $quantity = esc_sql($quantity);
        $group = esc_sql($group);
        $table_name = $wpdb->get_blog_prefix() . 'table_doc_order';
     
        // вставляем строку в таблицу
        $wpdb->insert(
                $table_name, array(
            'data' => date("Y-m-d"),
            'name' => $name,
            'second_name' => $second_name,
            'middle_name' => $middle_name,
            'dob' => $dob,
            'doc' => $doc,
            'quantity' => $quantity,
            'group' => $group,
                ), array('%s', '%s', '%s', '%s', '%s', '%s', '%d', '%s')
        );
    };
     
    // Пример вызова функции: doc_order_insert_item(Иван, Иванов, Иванович, 19-04-1989, Справка об обучении, 3, Группа-12);

    Не могу понять вот что: Как сделать так, чтобы функция вызывалась с помощью кнопки html, и брала бы данные для таблицы из заполненной пользователем формы на сайте?

Просмотр 4 ответов — с 16 по 19 (всего 19)
  • Собрал в кучу плагин, поставил на сайт.
    Но, какая-то штука интересная творится с кодировкой. Заполняю форму, отправляю, захожу в админку посмотреть данные, а вместо русских букв вопросительные знаки. Цифры и английские буквы отображаются нормально.

    На тестовом сайте такого не происходит, там отображение нормальное
    Подскажите, как это можно исправить?

    • Ответ изменён 7 лет, 2 месяца назад пользователем miostat.

    Подозреваю, что надо кодировку прописать при создании таблицы.

    function doc_order_install () {
      require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
      global $wpdb;
      
      $table_name = $wpdb->prefix . 'table_doc_order';
    if($wpdb->get_var("show tables like '$table_name'") != $table_name) { 
     $sql = "CREATE TABLE " . $table_name . " (
              id mediumint(9) NOT NULL AUTO_INCREMENT,
    	  data date NOT NULL,
              name tinytext NOT NULL,
    	  second_name tinytext NOT NULL,
    	  middle_name tinytext NOT NULL,
              dob date NOT NULL,
              doc tinytext NOT NULL,
              quantity mediumint(3) NOT NULL,
              grupp tinytext NOT NULL,
    	  UNIQUE KEY id (id)
    	);";
    
    require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
    dbDelta($sql);
     };

    С кодировкой разобрался, всё нормально, плагин более менее работает!
    Теперь думаю добавить некоторые возможности, если получится, фильтры там, ещё что-нибудь.

    Ну да ладно, у меня вопрос есть, народ. Подскажите, как можно создать пустую страницу(чистый лист) в вордпрессе, которая бы отображала только один виджет, размером примерно 250х600px?

    Модератор Юрій

    (@yube)

    Не задавайте несколько вопросов в одной теме. Если вопросы разные — создайте, пожалуйста, несколько тем
    Правила форума

Просмотр 4 ответов — с 16 по 19 (всего 19)
  • Тема «Добавление данных в SQL-таблицу» закрыта для новых ответов.