Jump to content
  • 0

Занесение чекбоксов в БД


Defroing
 Share

Question

<form method="POST" action= "action_handler.php" id="form">
    <section class="table_1">
        <table class="iksweb">
            <tbody>
                <tr>
                    <td rowspan="3"><b>История компании «Mc donald's»</b>
                        <h3 class="the">Кто основал компанию «Mc donald's»?</h3>   
                        <section class="conteiner">
                            <div class="checkbox">
                                <input type="checkbox" class="i-6" id="i6" value="0" name="formDoor[]">
                                <label for="i6" tabindex="12">Роналд Макдоналд</label>     
                            </div>
                            <div class="checkbox">
                                <input type="checkbox" class="i-6" id="i7" value="0" name="formDoor[]">
                                <label for="i7" tabindex="13">Рэй Крок</label>     
                            </div>
                            <div class="checkbox">
                                <input type="checkbox" class="i-6" id="checkbox_68" value="1" name="formDoor[]">
                                <label for="checkbox_68" tabindex="14">Братья Дик и Мак Макдоналд</label>     
                            </div>
                            <div class="checkbox">
                                <input type="checkbox" class="i-6" id="checkbox_170" value="0" name="formDoor[]">
                                <label for="checkbox_170" tabindex="14">Клинт Иствуд</label>     
                            </div>
                            <div class="out-block out-6"></div>
                        </section>
                     </td>     
                </tr>
            </tbody>
        </table>
    <div class="dsw">
        <button class="b-6" tabindex="11" id="btn-1" type="submit" name="formSubmit">Отправить</button>
    </div>  
</form>
<?php
  mysql_connect("localhost", "root", "");
  mysql_select_db('olala') or die(mysql_error());
   
      if(isset($_GET['submit'])){
          
          $arr=$_GET;
          
  foreach ($arr as $key => $value)
  {
      $reg="/^check/";//отбираю нужные элементы 
      if( preg_match ($reg,$key ))
      {
          //$new_mass[]=$arr[$key];
          //print_r($new_mass);
          echo $arr[$key];
          $sql_1="INSERT INTO `table_one` (`name`) VALUES('$arr[$key]')";
          mysql_query($sql_1) or die(mysql_error());
   
      }
  }
      
      }
?>

 Создаю опросник и хочу, чтобы чекбоксы заносились в БД(таблицу пока не создавал). Хотелось узнать на счёт php кода, сможете подсказать, что в нём не так (дать какие нибудь советы). В openserver опросник пока не выкладывал.

Edited by Defroing
Link to comment
Share on other sites

5 answers to this question

Recommended Posts

  • 1

1. в html вы отметили правильный ответ, что для опросника/теста на мой взгляд очень не очень :)
2. в вашем случае достаточно было бы
 

mysql_connect("localhost", "user", "password");
mysql_select_db('olala') or die(mysql_error());
if(isset($_GET['submit']))
{
  $insert = '';
  foreach($_GET['formDoor'] as $key=>$val)
  {
      if(!empty($insert)) $insert .= ',';
      $insert .= '("'.$val.'")';
  }
  $insert = 'INSERT INTO `table_one` (`name`) VALUES '.$insert;
  mysql_query($sql_1) or die(mysql_error());
}

 

Link to comment
Share on other sites

  • 0
04.06.2021 в 14:35, Switch74 сказал:

1. в html вы отметили правильный ответ, что для опросника/теста на мой взгляд очень не очень 🙂
2. в вашем случае достаточно было бы
 


mysql_connect("localhost", "user", "password");
mysql_select_db('olala') or die(mysql_error());
if(isset($_GET['submit']))
{
  $insert = '';
  foreach($_GET['formDoor'] as $key=>$val)
  {
      if(!empty($insert)) $insert .= ',';
      $insert .= '("'.$val.'")';
  }
  $insert = 'INSERT INTO `table_one` (`name`) VALUES '.$insert;
  mysql_query($sql_1) or die(mysql_error());
}

А вот такой вариант может подойти?


<?php
$server = 'localhost';
$user = 'root';
$password = 'gJnhf76K';
 
$dblink = mysql_connect($server, $user, $password);
 
if($dblink)
echo 'Соединение установлено.';
else
die('Ошибка подключения к серверу баз данных.');
 
$database = 'ten45';
$selected = mysql_select_db($database, $dblink);
if($selected)
echo ' Подключение к базе данных прошло успешно.';
else
die(' База данных не найдена или отсутствует доступ.');
 
echo $_GET['formDoor[]']; // Вернёт 1
echo $_GET['Door[]']; // Вернёт 0
 
$cb1 = (!empty($_GET['formDoor[]'])) ? (int) $_GET['formDoor[]'] : 0; // Если чекбокс выбран - кидаем туда его значение, иначе - 0
$cb2 = (!empty($_GET['Door[]'])) ? (int) $_GET['Door[]'] : 0;
 
mysql_query("UPDATE `tutorial_users` SET `value` = $formDoor[] WHERE `option` = 'formDoor[]' "); // Обновляет 1-е значение в БД
mysql_query("UPDATE `tutorial_users` SET `value` = $Door[] WHERE `option` = 'Door[]' "); // Обновляет 2-е значение в БД
?>

 

 

Link to comment
Share on other sites

  • 0
7 часов назад, Switch74 сказал:

не пойму что за массив Door и что этот вариант должен сделать
еще замечание, попробуйте пересесть с mysql на mysqli

массив Door - это имя для чекбокса.

То есть при выборе варианта, он возвращал 0 (не правильный вариант). 

И вот ещё, вы мне написали код, где есть mysql. Почему именно с mysql?

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Similar Content

    • By Mix9
      есть див с 5 img, при уменьшении экрана див выходит за него. Я добавил overflow: auto для этого div в надежде на то, что я смогу прокручивать фотки с помощью скроллбара, однако даже с ним почему-то я не вижу часть фоток которые вышли за границу. Что с этим можно сделать? класс video повторяется 5 раз, я тут оставил только 1 
      .content{ width: 90%; background-color: #333; } .video{ margin: 0px 4px 0px 4px; width: 310; display: flex; flex-direction:column; } .video_button_text{ margin-top: 10px; display: flex; flex-direction: row; font-size: 20px; color: white; } .video_text_div{ display: inline-block; width: 250px; } .video_text{ text-align: justify-all; margin: 0px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; } .slidan_videos{ margin: 0px 10px 0px 20px; overflow: auto; width: auto; margin-bottom: 50px; display: flex; flex-direction: row; justify-content: space-around; } <div class="content"> <div class = slidan_videos> <div class = video> <div> <a href = 'ссылка'><img class="img" src=""картинка"></a> </div> <div class = video_button_text> <div class = avatarka_div> <a href="ссылка" target="_blank"><img class = avatarka src="картинка"></a> </div> <div class = video_text_div> <p class = video_text><a href="ссылка">текст</a></p> </div> </div> </div>
    • By Young
      Столкнулся с проблемой , когда вставил картинку , весь текст съехал в лево , а сама картинка , должна находиться с низу сайта
      И еще вопрос , как сделать так , чтобы когда я уменьшал размер сайта , облаки оставались на своих местах ?
      HTML
      CSS
       

      решено 
    • By vladdvin
      Верстаю макет с Фигмы - https://www.figma.com/file/2rdy1qjBTl7D6BAC8S4qlf/Webovio?node-id=0%3A1. Наверстал
      CSS
      В результате отображается следующая картинка

      в режиме инструментов разработчика. А вне режима вообще отображает

      Подскажите как добиться отображения текста как на макете.
    • By Hinn
      Всем приветик, начинающий фрилансер. Ищу первые заказы в данной сфере. Занимаюсь:
      • На малом уровне версткой;
      • Хорошо разбираюсь в таких CMS: как Wordpress и Tilta - легко и быстро разработаю одно страничные, многостраничные сайты, интернет-магазины (могу как дорабатывать, так и создания с нуля, так же занимаюсь переносом одного сервера на другой);
      • Увлекаюсь разработкой логотипов (логотипы с нуля, доработка логотипа, рисование логотипа по эскизу).
      Готов заниматься работой за любую плату. Так же присутствует портфолио, но за частую людям интересно когда о тебе есть отзывы. Поэтому пришел сюда за практическим опытом, и поиском постоянной работы.
      Использую:
      - Верстка: (HTML5/CSS3), верстаю из Figma, Photoshop, illustrator.
      - Разработка сайта: (CMS WordPress, Tilta).
      - Разработка логотипа: (Photoshop, illustrator)
      Если не знаю чего-то необходимого для Вашего проекта\работы -- обязательно разберусь (все-таки начинающий фрилансер).

      Если вы разработчик и вам некому спихнуть рутинную работу - я с радостью возьму её на себя;

      телеграмм: HinnWork;
      почта: balistic.baty@gmail.com

      Открыт для любых предложений. 
    • By Only091
      Помогите пожалуйста, не получается сделать постраничную навигацию. Делал все по урокам. в Итоге получилось сделать два разных каталога один с фильтрами другой с постраничной навигацией. И теперь я пытаюсь объединить два каталога. Но не получается. Сами файлы урока в архике каталог. Буду очень благодарен если мне помогут! catalog.phpcatalogDB.js
      каталог.7z
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy