2015-07-21 6 views
0

Я создаю тип слайдера для системы управления рестораном, в которой пользователь будет выбирать элементы в каждой форме, и выбранные значения будут отображаться в конце «подтверждающей формы», и я хочу вставить значения выбранные элементы, полученные в форме подтверждения для вставки в базу данных.Вставить значение из javascript в базу данных

<script> 

    function changeColor(obj){ 
     obj.style.color = "red"; 
     var selected_val = obj.innerHTML; 
     document.getElementById('target_div').innerHTML=document.getElementById('target_div').innerHTML+" "+selected_val; 
    } 

</script> 


<form id="formElem" name="formElem" action="" method="post"> 
      <fieldset class="step"> 
       <legend>Roti</legend> 
       <?php 
       $qu = mysql_query("select * from submenu WHERE menu_id=33") or die(mysql_error()); 
       while($f = mysql_fetch_array($qu)){ 
       ?> 
       <p> 
        <label for="name" onclick="changeColor(this)"><?php echo $f['submenu']; ?></label> 
        <input id="name" name="name" type="hidden" AUTOCOMPLETE=OFF value="<?php echo $f['id']; ?>"/> 
        </p> 
       <?php } ?> 
      </fieldset> 
      <fieldset class="step"> 
       <legend>Sabji</legend> 
       <?php 
       $qu2 = mysql_query("select * from submenu WHERE menu_id=34"); 
       while($f2 = mysql_fetch_array($qu2)){ 
       ?> 
       <p> 
        <label for="name" onclick="changeColor(this)"><?php echo $f2['submenu']; ?></label> 
        <input id="name" name="name" type="hidden" AUTOCOMPLETE=OFF value="<?php echo $f2['id']; ?>"/> 
       </p> 
       <?php } ?> 
      </fieldset> 
      <fieldset class="step"> 
       <legend>Salad</legend> 
       <?php 
       $qu3 = mysql_query("select * from submenu WHERE menu_id=35"); 
       while($f3 = mysql_fetch_array($qu3)){ 
       ?> 
       <p> 
        <label for="name" onclick="changeColor(this)"><?php echo $f3['submenu']; ?></label> 
        <input id="name" name="name" type="hidden" AUTOCOMPLETE=OFF value="<?php echo $f3['id']; ?>"/> 
       </p> 
       <?php } ?> 
      </fieldset> 
      <fieldset class="step"> 
       <legend>Sweets</legend> 
       <?php 
       $qu4 = mysql_query("select * from submenu WHERE menu_id=36"); 
       while($f4 = mysql_fetch_array($qu4)){ 
       ?> 
       <p> 
        <label for="name" onclick="changeColor(this)"><?php echo $f4['submenu']; ?></label> 
        <input id="name" name="name" type="hidden" AUTOCOMPLETE=OFF value="<?php echo $f4['id']; ?>"/> 
       </p> 
       <?php } ?> 
      </fieldset> 
      <fieldset class="step"> 
       <legend>Confirm</legend> 
       <p> 
        <label id="target_div" for="name"></label> 

       </p> 
       <p class="submit"> 
        <button id="registerButton" type="submit" name="confirm">Confirm</button> 

       </p> 
      </fieldset> 
     </form> 

Я хочу, чтобы вставить значение, полученное при confirm form в базу данных, используя PHP.

+0

Поскольку никто не знает, что ваша база данных выглядит, я сомневаюсь, что вы получите большую помощь.В общем случае сообщения формы для скрипта, в этом скрипте проверяют, что размещено, используя: echo «

".print_r($_POST,true)."
»; Оттуда вам нужно создать инструкцию INSERT и запустить ее в своей базе данных. –

+0

Я хочу просто вставить значения, полученные на «метку», и просто хочу, чтобы для них была простая строка вставки: -включить в тестовые значения («значение метки»); , но я не знаю, где и как поставить эту строку для ввода значений. – Tinkal

+0

Я отвечу в обычной публикации, потому что она не подходит сюда. –

ответ

0

Это существенная часть:

  while($f = mysql_fetch_array($qu)){ 
      ?> 
      <p> 
       <label for="name" onclick="changeColor(this)"><?php echo $f['submenu']; ?></label> 
       <input id="name" name="name" type="hidden" AUTOCOMPLETE=OFF value="<?php echo $f['id']; ?>"/> 
       </p> 
      <?php } ?> 

Вы повторить для других категорий (Салас, сладости и т.д.), так что давайте посмотрим на это первое.

И что-то не так. Во-первых, ваш лейбл говорит для = «имя». Имя должно быть UNIQUE-идентификатором в документе. Идентификатор - id = "whatever". Поэтому, если вы хотите настроить таргетинг на определенный элемент с помощью своего ярлыка, убедитесь, что id = "" соответствует for = "".

В вашем случае это проще всего сделать, добавив уникальный ключ из базовой таблицы базы данных.

Но я не могу помочь, потому что я не вижу ваши столбцы в базе данных. Вы используете:

select * from submenu WHERE menu_id=33 

Пожалуйста, прекратите использовать ленивые * и NAME нужные вам столбцы. Надеюсь, у вас есть столбец, который является основным ключом в tblsubmenu. Предположим, что это id. (Я думаю, что лучшее название было бы submenuid.)

Затем вы можете использовать, чтобы сделать маркировку и право идентификаторов, как это:

  <?php 
      $qu = mysql_query("select submenuid, submenu, from submenu WHERE menu_id=33") or die(mysql_error()); 
      while($f = mysql_fetch_array($qu)){ 
      ?> 
      <p> 
       <label for="name<?php echo $f['id']; ?>" onclick="changeColor(this)"><?php echo $f['submenu']; ?></label> 
       <input id="name<?php echo $f['id']; ?>" name="submenuid[]" type="hidden" AUTOCOMPLETE=OFF value="<?php echo $f['id']; ?>"/> 
       </p> 
      <?php } ?> 

Таким образом, вы соответствие для = «» и идентификатора = "", например: в метке: for = "name181" и id = "name181".

Кроме того, обратите внимание, я изменил свой входной элемент формы, теперь это имя «submenuid []»

Если теперь опубликовать форму, вы получите ARRAY в $ _POST [ «submenuid»].

Распечатать это с:

echo "<pre>".print_r($_POST,true)."</pre>"; 

И посмотреть, если это соответствует тому, что вы хотите отправить.

Если да, то теперь вы можете начать с вставки, например:

Еогеасп ($ _POST [ "submenuid"] в $ submenuid) { $ ID = (INT) $ submenuid; // заставить его быть целым числом $ SQL = "INSERT INTO tblorders (submenuid, customerid) VALUES ($ id, 111)"; // выполнить здесь в отношении базы данных, см ссылки ниже }

w3schools-link for starters

PHP website mysqli.query.php

Смежные вопросы