За последние 24 часа нас посетили 17533 программиста и 1580 роботов. Сейчас ищут 1406 программистов ...

Добавление записей в таблицу

Тема в разделе "PHP для новичков", создана пользователем skelaKuban, 26 июл 2012.

  1. skelaKuban

    skelaKuban Активный пользователь

    С нами с:
    28 июн 2012
    Сообщения:
    4
    Симпатии:
    0
    Таблица такой структуры:
    $dbname = "taskmanager";
    $task_tablename = "task";
    $task_table_def = "id MEDIUMINT(10) NOT NULL AUTO_INCREMENT,";
    $task_table_def .= "date VARCHAR(255) NOT NULL,";
    $task_table_def .= "author VARCHAR(30) NOT NULL,";
    $task_table_def .= "contractor VARCHAR(30) NOT NULL,";
    $task_table_def .= "text TEXT NOT NULL,";
    $task_table_def .= "status ENUM('Отправлена','В работе','Выполнена') NOT NULL default 'Отправлена',";
    $task_table_def .= "PRIMARY KEY (id)";

    Скрипт:
    <?
    include "./common_db.php";
    if ((!author) || (!text)) {
    exit;
    }
    $dbname = "taskmanager";
    $link_id = db_connect($dbname);
    if (!$link_id) die (sql_error());
    if (!mysql_select_db($dbname)) die(sql_error());

    $author = $_POST['author'];
    $contractor = $_POST['contractor'];
    $text = $_POST['text'];
    $currentDate = date("d F Y");

    $result = mysql_query("INSERT INTO task (date, author, contractor, text, status) VALUE ($currentDate, $author, $contractor, $text, 'Отправлена')");
    if ($result== 'true')
    {echo "Ваши данные успешно добавлены";}
    else{echo "Ваши данные не добавлены";}
    ?>
    Данные не добаляются, что я делаю не правильно, подскажите пожалуйста
     
  2. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Код (PHP):
    1. $dbname = "taskmanager";
    2. $task_tablename = "task";
    3. $task_table_def = "id MEDIUMINT(10) NOT NULL AUTO_INCREMENT,";
    4. $task_table_def .= "date VARCHAR(255) NOT NULL,";
    5. $task_table_def .= "author VARCHAR(30) NOT NULL,";
    6. $task_table_def .= "contractor VARCHAR(30) NOT NULL,";
    7. $task_table_def .= "text TEXT NOT NULL,"; 
    8. $task_table_def .= "status ENUM('Отправлена','В работе','Выполнена') NOT NULL default 'Отправлена',";
    9. $task_table_def .= "PRIMARY KEY (id)";
    10.  
    11. Скрипт:
    12. <?
    13. include "./common_db.php";
    14. if ((!author) || (!text)) {
    15. }
    16. $dbname = "taskmanager";
    17. $link_id = db_connect($dbname);
    18. if (!$link_id) die (sql_error());
    19. if (!mysql_select_db($dbname)) die(sql_error());
    20.  
    21. $author = $_POST['author'];
    22. $contractor = $_POST['contractor'];
    23. $text = $_POST['text'];
    24. $currentDate = date("d F Y");
    25.  
    26. $result = mysql_query("INSERT INTO task (date, author, contractor, text, status) VALUE ($currentDate$author$contractor$text, 'Отправлена')");
    27. if ($result== 'true')
    28. {echo "Ваши данные успешно добавлены";}
    29. else{echo "Ваши данные не добавлены";}
    30. ?>
    Добавлено спустя 2 минуты 7 секунд:
    Ошибки выводит?

    $author = $_POST['author'];
    $contractor = $_POST['contractor'];
    $text = $_POST['text'];
    Переменные существуют?

    Добавлено спустя 1 минуту 59 секунд:
    Результат работы скрипта "Ваши данные успешно добавлены" или "Ваши данные не добавлены"?
     
  3. skelaKuban

    skelaKuban Активный пользователь

    С нами с:
    28 июн 2012
    Сообщения:
    4
    Симпатии:
    0
    скрип работает, не понятно как добавить значение в поле с типом enum
     
  4. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
    Может так?
    Код (PHP):
    1. $emun = "Отправлено";
    2. $result = mysql_query("INSERT INTO task (date, author, contractor, text, status,ENUM) VALUE ('$currentDate',' $author', '$contractor', '$text', '$enum')");
    3.  
    4.  
     
  5. skelaKuban

    skelaKuban Активный пользователь

    С нами с:
    28 июн 2012
    Сообщения:
    4
    Симпатии:
    0
    status у меня имеет тип emun ))

    Добавлено спустя 8 минут 16 секунд:
    проблема в кодировке, как установить кодировку, чтобы русские буквы отображались?
     
  6. VampiR_WAR

    VampiR_WAR Активный пользователь

    С нами с:
    19 авг 2009
    Сообщения:
    409
    Симпатии:
    1
    Адрес:
    Нижний Новгород
  7. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Код (PHP):
    1. $task_table_def = "id MEDIUMINT(10) NOT NULL AUTO_INCREMENT,";
    2. $task_table_def .= "date VARCHAR(255) NOT NULL,";
    3. $task_table_def .= "author VARCHAR(30) NOT NULL,";
    4. $task_table_def .= "contractor VARCHAR(30) NOT NULL,"; 
    Зачем так делать?

    Код (PHP):
    1. $task_table_def = "
    2. id MEDIUMINT(10) NOT NULL AUTO_INCREMENT, 
    3. date VARCHAR(255) NOT NULL, 
    4. contractor VARCHAR(30) NOT NULL, "; 

    Код (PHP):
    1. $result = mysql_query("INSERT INTO task (date, author, contractor, text, status) VALUE ($currentDate$author$contractor$text, 'Отправлена')");
    2. if ($result== 'true') 
    Код (PHP):
    1. if(isset($_POST['author']) && isset($_POST['contractor'])) {
    2.     $author = $_POST['author'];
    3.     $contractor = $_POST['contractor'];
    4.     if(mysql_query("INSERT INTO `task` SET `date`='".эскейп($curretnDate)."',`author`='".эскейп($author)."',`contractor`='".эскейп($contractor)."'")) {
    5.     
    6.     } else {
    7.         
    8.     }
    9. } 
    Лучше для кодировки использовать mysql_set_charset() функцию.