Я пытаюсь добавить новый столбец в свою таблицу MYSQL с помощью PHP. Я не знаю, как изменить мою таблицу, чтобы создать новый столбец. В моей оценочной таблице есть:
assessmentid | q1 | q2 | q3 | q4 | q5
Скажем, у меня есть страница с текстовым полем, и я q6
ввожу текст в текстовое поле и нажимаю кнопку, после чего таблица обновляется до:
assessmentid | q1 | q2 | q3 | q4 | q5 | q6
Мой код:
<?php
include 'core/init.php';
include 'core/admininit.php';
include 'includes/overall/overall_header.php';
adminprotect_page();
include 'includes/adminmenu.php';
?>
<?php
mysql_query("ALTER TABLE `assessment` ADD newq INT(1) NOT NULL AFTER `q10`");
?>
<h1>Input Career Name</h1>
<form method="post" action="">
Career Name
<input type="text" name="newq" size="20">
<input type="submit"
name="submit" value="Submit">
</body>
</html>
assessment
ADDq6
INT (1) NOT NULL AFTERq5
"); echo 'Q6 created'; } ELSE {// отсюда просто продолжаем страницу как обычно! echo 'Q6 уже существует!';mysql_error()
что пошло не так. напр$result = mysql_query($sql) or die(mysql_error());
.Ответы:
ваша таблица:
вы также можете сделать
источник
assessment
ADDq6
INT (1) NOT NULL AFTERq5
");вы можете превратиться
VARCHAR( 255 ) NOT NULL
во все,datatype
что захотите.источник
textbox
? если вы имеете в виду то,input
чтоtype='text'
пишите$column = $_POST['textbox'];
name='textbox'
или изменить текстовое поле$column = $_POST['textbox'];
на имя ввода ...Вы можете добавить новый столбец в конец таблицы
ALTER TABLE assessment ADD q6 VARCHAR( 255 )
Добавить столбец в начало таблицы
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) FIRST
Добавить столбец рядом с указанным столбцом
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) after q5
и другие варианты здесь
источник
Что-то вроде:
Не тестировал, но должен работать.
источник
$name
задание на:$name = $db->mysqli_real_escape_string($_GET['input']);
при условии, что вы отправляете форму в обычном режиме. Если это ajax, это немного сложнее.Основываясь на вашем комментарии, похоже, что вы добавляете новый столбец только в том случае, если:
mysql_query("SELECT * FROM assessment");
возвращает false. Вероятно, это не то, что вы хотели. Попробуйте удалить "!" перед $ sql в первом операторе if. Итак, ваш код будет выглядеть так:источник
Вам следует изучить нормализацию своей базы данных, чтобы избежать создания столбцов во время выполнения.
Составьте 3 таблицы:
Поместите вопросы и оценки в соответствующие таблицы и свяжите их вместе через Assessment_question с помощью внешних ключей.
источник
для WORDPRESS:
источник
источник