2017-01-06 4 views
1

Я создал форму, содержащую два набора флажков, и хотел бы их хранить в базе данных MySQL, однако, когда я отправляю в базу данных, все данные поступают по назначению такие как дата, текст и радиокнопка, за исключением двух текстовых полей. Если я заглядываю в базу данных столбцы, где хранится значение для текстовых полей, он говорит только «Массив» и ни одно из фактических значений.Как добавить несколько значений из флажков в базу данных mysql

Это мой код, который обрабатывает запрос на почту:

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 


$name = $_POST['input4']; 
$datedone = $_POST['date']; 
$projectnumber = $_POST['input1']; 
$area = $_POST['input2']; 
$donebefore = $_POST['radio9']; 
$changesmade = $_POST['radio8']; 
$safeaccess = $_POST['radio11']; 
$electrical = $_POST['radio5']; 
$machineguarding = $_POST['radio6']; 
$correctequipment = $_POST['radio4']; 
$sds = $_POST['radio3']; 
$controltoxic = $_POST['radio1']; 
$ppe = $_POST['radio2']; 
$hazard = $_POST['checkbox']; 
$otherhazards = $_POST['input3']; 
$controlofhazards = $_POST['checkbox1']; 
$monitor = $_POST['radio12']; 
$comments = $_POST['input']; 

$sql = "INSERT INTO hira (Name, TodayDate, ProjectNumber, Area, DoneBefore, HaveChangesMade, SafeAccess, ElectricalEquipment, MachineGuarding, CorrectEquipment, SDS, ControlToxic, PPE, Hazard, OtherHazard, ControlHazard, MonitorProcess, AdditionalComments) VALUES ('$name','$datedone','$projectnumber','$area','$donebefore','$changesmade','$safeaccess','$electrical','$machineguarding','$correctequipment','$sds','$controltoxic','$ppe','$hazard','$otherhazards','$controlofhazards','$monitor','$comments')"; 

if ($conn->query($sql) === TRUE) { 
    echo "Thank you for completing the Hira form"; 

} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 

$conn->close(); 
?> 

Что я сделал неправильно здесь. Я хотел бы, чтобы значения текстовых полей были разделены запятыми, то есть «Noise, Dust» Возможно ли это? Заранее спасибо

+0

print_r $ _POST вы получите его, что пошло не так, поверьте мне – rahulsm

ответ

0

вы можете использовать implode функцию

$checkbox = implode(",",$_POST['checkbox']); 
0

вы можете использовать implode функцию массива вставки, используя, разделенную строку

$values = implode(",",$_POST['name']); 

вы можете использовать функцию explode, чтобы получить строку к массиву

$values = explode(",",$values); 
+0

Спасибо за помощь, однако, когда я использую –

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