2013-12-02 3 views
0

У меня есть форма, название которой содержание, № телефона, адрес, личные данные .... и т.д.Как вставить динамическое значение в базе данных MySQL

и я дал возможность пользователю, какие поля он хочет вставить, используя флажок

поле, который проверил apper на другой странице, например: если он seleted имя и адрес

... то имя и адрес appers .... так как я могу сделать свою базу данных MySQL. .... так что если кто-то выбирает все опции в моей форме .... моя таблица mysql должна сохранять все данные ...

, так что в основном мой вопрос заключается в том, как я могу динамически создать свою базу данных mysql ... так что если пользователь selets 2 может вставить 2 значения &, если пользователь выберет все опции, он может сохранить все значения .....

ответ

0

Создать таблица со всеми полями в database.selected значения опции поля будет вставлен и для других полого Null будет вставлен

0

, что все, что вы можете сделать это либо создать базу данных со всеми столбцами в таблицах или просто добавлений столбец снова и снова в таблице if it does not exist, но столбец, который был добавлен в базу данных, будет существовать, даже если вы не добавляете в него данные, пока не увидите Удалять

0

сначала получить все номера столбца со следующими отборное заявление (в течение примере я предполагаю, что вы есть класс (как всегда у меня есть), чтобы прочитать данные из БД)

select count(*) from cols where table_name='MyTableName' 

, если число строка была такой же, как ответ на вышеупомянутый вопрос, так что вы должны показать

select * from MyTableName 

если нет:

я предполагаю, что вы сохраните данные в $ UserSelectedField

$userSelectedField=implode($UserSelectedField,','); 
$sql="select $UserSelectedField from MyTableName "; 

, то вы можете показать ответ $ SQL

0

Прежде всего, вы должны быть ясно, является их любое обязательное поле во всех ваших полях и я думаю, что он должен быть какой-то обязательный в противном случае, что будет происходить, если пользователь просто представит форму, в которую он будет вставлять пустую строку в базу данных, чтобы было ясно, какое поле вы хотите сделать обязательным.

Затем установите все остальные флажки и создайте таблицу базы данных со всеми именами полей со значением по умолчанию null.

и использовать массив для вставки данных в базу данных каждый раз, когда в этом случае вы не должны писать каждый раз, когда поля имен и их значение

<form> 
    < input type="text" name="detail['name']" value=""/> 
    < input type="text" name="detail['age']" value=""/> 
    < input type="text" name="detail['email']" value=""/> 
    . 
    . 
    . 
    . 
    </form > 

что вы получите на другом конце

$detail = $_POST['detail']; 

теперь все значения, отправленные из формы с именем их полей, находятся внутри $ detail.не

Нет его ваша очередь сделать запрос, который будет принимать ключ массива $ подробно в виде столбцов таблицы и значения $ детализации значение для вставки в БД как

$field_string = ''; 
$value_string = ''; 

foreach($detail as $key => $val){ 

    $field_string = $key.","; 
    $value_string = $value.",";  

} 
$field_string = trim($field_string, ","); 
$value_string = trim($value_string, ","); 

$query = "INSERT INTO table ($field_string) VALUES ($value_string) "; 

Это все я надеюсь, что это help

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