2014-01-25 4 views
0

hi guys pls help me whit this option (textarea), не отправляющий в базу данных php mysql, вот мои коды tnx. он имеет функцию Javascript. Мне нужно отправить параметр (textarea) в базу данных php/mysql. текст не inserting. или это может быть количество того количества пищи, которое они выбрали.textarea text not inserting to php database mysql

select.html

<html lang="en"> 
<head> 
<title>Catering Service</title> 
<meta charset="utf-8"> 
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
<script src="js/js.1.js" type="text/javascript"></script> 
</head> 
<body> 
    <form action="submit.php" method="post"> 
     <select multiple="multiple" class="options" id="textarea"> 
     <option value="foodA">foodA</option> 
     <option value="foodB">foodB</option> 
     <option value="foodC">foodC</option> 
     <option value="foodD">foodD</option> 
     <option value="foodE">foodE</option> 
    </select> 


     <button type="button" id="copy">Copy</button> 
     <button type="button" id="remove">Remove</button> 

      <!-- note how multiple select name must be set --> 
      <select id="textarea2" multiple class="remove" name="food[]"> 
      </select> 

      <input type="submit" name="submit" /> 
      </form> 
      </body> 
      </html> 

submit.php

<?php 
    include 'connection.php'; 

foreach ($_POST['food'] as $food){ 
    $food == "foodA" ? $foodA = $food : $foodA = ''; 
    $food == "foodB" ? $foodB = $food : $foodB = ''; 
    $food == "foodC" ? $foodC = $food : $foodC = ''; 
    $food == "foodD" ? $foodD = $food : $foodD = ''; 
    $food == "foodE" ? $foodE = $food : $foodE = ''; 


if(!$_POST['submit']) { 
    echo "please fill out the form"; 
    header('Location: select.html'); 
} 
else { 
    $sql = "INSERT INTO remove(foodA, foodB, foodC, foodD, foodE) VALUES (?,?,?,?,?);"; 
    $stmt = mysqli_prepare($conn, $sql); 
    mysqli_stmt_bind_param($stmt,"sssss",$foodA,$foodB,$foodC,$foodD,$foodE); 
    mysqli_stmt_execute($stmt); 
    echo "User has been added!"; 
    header('Location: select.html'); 
} 

connection.php

<?php 
$dbhost = "localhost"; 
$dbuser = "root"; 
$dbpass = ""; 
$db = "copy"; 
$conn = mysqli_connect($dbhost,$dbuser,$dbpass,$db); 
?> 

js.1.js (JavaScript)

$(function(){ 
    $("#copy").on("click", function(){ 
    $(".options option:selected").each(function({ 
    $("#textarea2").append('<option selected>'+$(this).text()+'</option>'); 
    $('option:selected', "#textarea").remove(); 
    }); 
}); 
    $("#remove").on("click", function(){ 
    $(".remove option:selected").each(function(){ 
    $("#textarea").append('<option>'+$(this).text()+'</option>'); 
    $('option:selected', "#textarea2").remove(); 
    }); 
}); 

});

+0

Что не работает? вы получаете сообщение об ошибке и т. д.? –

+0

@PatrickEvans tnx для вашего ответа, не получая сообщение об ошибке, но не вставляя в базу данных. no error – user3211646

+0

Я не вижу никаких вызовов ajax на php-скрипт –

ответ

0

Начните с очистки кода и его правильной формы, т. Е. Аккуратно установите его и закройте теги открытия). Например, вы пропустили ввод в <head> теге, а </select> был ниже </form>:

select.html

<html lang="en"> 
    <head> 
    <title>Catering Service</title> 
    <meta charset="utf-8"> 
    <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <script src="js/js.1.js" type="text/javascript"></script> 
    </head> 
    <body> 
    <form action="submit.php" method="post"> 

     <select multiple="multiple" name="food" class="options" id="textarea"> 
     <option name="foodA" value="foodA">foodA</option> 
     <option name="foodB" value="foodB">foodB</option> 
     <option name="foodC" value="foodC">foodC</option> 
     <option name="foodD" value="foodD">foodD</option> 
     <option name="foodE" value="foodE">foodE</option> 
     </select> 

     <button type="button" id="copy" onclick="yourFunction()">Copy</button> 
     <button type="button" id="remove" onclick="yourFunction()">Remove</button> 

     <select id="textarea2" multiple class="remove" name="food"> 
     <input type="submit" name="submit" /> 
     </select> 
    </form> 
    </html> 

Позже, когда вы хорошо вы можете получить небрежен об этом, если вы хотите, но в то время как вы начинаете делать его очень чистым. Обратите внимание, как я выстроился в onclick, чтобы сделать вещи более читаемыми.

Теперь, когда вы его очистите, посмотрите на него по строкам, слово за словом. Вы понимаете каждую вещь? Если это не google, пока вы это сделаете. Есть хорошие ссылки на все эти материалы в Интернете, гораздо лучше, чем я или кто-либо еще может предоставить здесь. Если мы решаем вашу непосредственную проблему, мы лишаем вас возможности научиться самому делать это. Но рад, что вы спросите, и рад дать вам несколько указателей.

Редактировать: Одна из ловушек html и почему многие специалисты в основном используют Xhtml и возвращаются к html5 только при необходимости только для функций html5, заключается в том, что, хотя конкретный браузер может работать с определенным неправильным набором тегов (например, ваш <select> или <head> вопросов выше), другой браузер, возможно, не будет так хорошо и кляп на них. Заставляя теги всегда быть правильно вложенными как xhtml, и которые можно легко обнаружить с помощью xhtml validator, он удаляет любую вероятность, что браузер будет или не будет правильно интерпретировать html. Еще одна вещь, которая отсутствует в вашем html, - это первая строка, но я предполагаю, что вы просто оставили это выше для краткости.

+0

ok tnx :)) для этого – user3211646

+0

Добро пожаловать. Я добавил немного в конце для вас. См. «Редактировать». –