За последние 24 часа нас посетили 16079 программистов и 1666 роботов. Сейчас ищут 1068 программистов ...

Добавление в БД из checkbox

Тема в разделе "PHP и базы данных", создана пользователем Виктор К., 9 апр 2016.

  1. Виктор К.

    Виктор К. Новичок

    С нами с:
    1 апр 2016
    Сообщения:
    139
    Симпатии:
    6
    Адрес:
    Украина
    Есть код:
    <?php
    $Param1 = 'SELECT `tagid`, `tag` FROM `tags`';


    $Result = mysqli_query($CONNECT, $Param1);

    while ($Row = mysqli_fetch_assoc($Result)){
    echo '<br><input type="checkbox" name="tag_add" value="'.$Row['tagid'].'"> '.$Row['tag'].'</input>';}
    ?>


    mysqli_query($CONNECT, "INSERT INTO `posts` VALUES ('', '$_POST[alias]', '$_POST[name]', '$_POST[thumbnail]', 0, '$_SESSION[USER_NAME]', '$_POST[text]', NOW(), $Active)");
    $Postid = mysqli_query($CONNECT, "SELECT `id` FROM `posts` WHERE `name` = '$_POST[name]'");
    mysqli_query($CONNECT, "INSERT INTO `posts_tags` VALUES ('$Postid', '$_POST[$tag_add]')");
    MessageSend (2, 'Новину додано.', '/');


    Мне кажется по коду все понятно. Проблема в том, что не совсем понимаю как правильно использовать чекбокс, из за этого появляються различные ошибки. Очень нужна ваша помощт чтобы сделать код работоспособным.
    Скорее всего также нужна структура таблиц, если надо скину.
     
  2. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Не могу прочитать твой год, режет глаза из-за цвета, там где пишешь сообщение, нажми плюс и выбери код.

    code.png
     
  3. Виктор К.

    Виктор К. Новичок

    С нами с:
    1 апр 2016
    Сообщения:
    139
    Симпатии:
    6
    Адрес:
    Украина
    Есть код:
    PHP:
    1. <?php
    2. $Param1 = 'SELECT `tagid`, `tag` FROM `tags`';
    3.  
    4. $Result = mysqli_query($CONNECT, $Param1);
    5.  
    6. while ($Row = mysqli_fetch_assoc($Result)){
    7. echo '<br><input type="checkbox" name="tag_add" value="'.$Row['tagid'].'"> '.$Row['tag'].'</input>';}
    8. ?>
    PHP:
    1. mysqli_query($CONNECT, "INSERT INTO `posts` VALUES ('', '$_POST[alias]', '$_POST[name]', '$_POST[thumbnail]', 0, '$_SESSION[USER_NAME]', '$_POST[text]', NOW(), $Active)");
    2. $Postid = mysqli_query($CONNECT, "SELECT `id` FROM `posts` WHERE `name` = '$_POST[name]'");
    3. mysqli_query($CONNECT, "INSERT INTO `posts_tags` VALUES ('$Postid', '$_POST[$tag_add]')");
    4. MessageSend (2, 'Новину додано.', '/');

    Мне кажется по коду все понятно. Проблема в том, что не совсем понимаю как правильно использовать чекбокс, из за этого появляються различные ошибки. Очень нужна ваша помощт чтобы сделать код работоспособным.
    Скорее всего также нужна структура таблиц, если надо скину.
     
  4. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    К великому сожалению, у нас экстрасенс в отпуске)
    Покажи, как ты пробовал и расскажи, что конкретно ты не понимаешь. И вообще, что ты хочешь сделать. Желательно с примером
     
  5. Виктор К.

    Виктор К. Новичок

    С нами с:
    1 апр 2016
    Сообщения:
    139
    Симпатии:
    6
    Адрес:
    Украина
    Есть три таблицы:
    • С постами
    • С тегами
    • связная междку ними, где id тега и id поста
    Код для добавления записей на сайт. Нужно отобразить чекбоксы, у которых value (является id тега) берется из таблицы с тегами. Далее значения из чекбоксов должны добавится в связную таблицу в одну строчку с id поста, который мы добавили. Не получается получить id поста, которого еще нет в таблице с постами, а также получить значение с чекбокса.(через echo увидел что id тега чекбокс дает 0, которого быть не должно)
     
  6. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
    Что конкретно не получается? Вывести теги или сформировать чекбоксы?
     
  7. Виктор К.

    Виктор К. Новичок

    С нами с:
    1 апр 2016
    Сообщения:
    139
    Симпатии:
    6
    Адрес:
    Украина
    Чекбокс передает в переменную 0.
     
  8. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв
  9. mr.akv

    mr.akv Активный пользователь

    С нами с:
    31 мар 2015
    Сообщения:
    1.604
    Симпатии:
    206
    Сколько может быть таких чекбоксов? Много ведь, правда? а name у них всех будет один, чего быть не должно
    --- Добавлено ---
    HTML:
    1. name="tag_add[]"
    можно сделать так, тогда все выбранные чекбоксы будут в массиве
     
  10. denis01

    denis01 Суперстар
    Команда форума Модератор

    С нами с:
    9 дек 2014
    Сообщения:
    12.227
    Симпатии:
    1.714
    Адрес:
    Молдова, г.Кишинёв