php - How to store data from form builder in database -
i trying create form builder enable users generate survey form/page.
after form generated form attribute stored on table.
question 1: can store form attribute knowing number of fields user might add in form unknown.
question 2: , how store data submitted through generated form when 1 example completes survey form.
should create new tables on fly each of form attributes? if yes if on million forma created translates million tables.
is multi-tenancy comes play.
please provide answer based on best practices.
i think you're asking, why not create 1 table 100 columns, labelled 1-100. set limit on amount of fields user can create(limit 100). then, post fields , add sql query store values...?
comment answer if user signed in filling form post request on same page.
<?php if (isset($_post['field1'])){ $valueforfield1 = $_post['field1']; $valueforfield2 = $_post['field2']; $valueforfield3 = $_post['field3']; $servername = "localhost"; $username = "username"; $password = "password"; $dbname = "mydb"; // create connection $conn = new mysqli($servername, $username, $password, $dbname); // check connection if ($conn->connect_error) { die("connection failed: " . $conn->connect_error); } $sql = "insert survey (field1, field2, field3) // guess `have add 100 fields here accommodate fields in db also, can set default value in mysql way if field 56-100 not set has value 0 or add value in php file` values ('$valueforfield1', '$valueforfield2', '$valueforfield3')"; if ($conn->query($sql) === true) { echo "new record created successfully"; } else { echo "error: " . $sql . "<br>" . $conn->error; } $conn->close(); ?> comment answer or if want wait user log in can store values in session variable.
<?php session_start(); if (isset($_post['field1'];)){ if (!(isset($_session['email']))){ $_session['field1'] = $_post['field1']; // have 100 of these } } ?>
Comments
Post a Comment