Estoy tratando de agregar una nueva columna a mi tabla MYSQL usando PHP. No estoy seguro de cómo modificar mi tabla para que se cree la nueva columna. En mi tabla de evaluación tengo:
assessmentid | q1 | q2 | q3 | q4 | q5
Digamos que tengo una página con un cuadro de texto y escribo q6
en el cuadro de texto y presiono un botón, luego la tabla se actualiza a:
assessmentid | q1 | q2 | q3 | q4 | q5 | q6
Mi código:
<?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 DESPUÉSq5
"); echo 'Q6 creado'; } ELSE {// ¡desde aquí simplemente continúa la página como de costumbre! echo '¡Q6 ya existe!';mysql_error()
para ver qué salió mal. ej$result = mysql_query($sql) or die(mysql_error());
.Respuestas:
tu mesa:
tu tambien puedes hacer
fuente
assessment
ADDq6
INT (1) NOT NULL AFTERq5
");puedes cambiarte
VARCHAR( 255 ) NOT NULL
a lodatatype
que quieras.fuente
textbox
? si te refieres ainput
quétype='text'
escribir$column = $_POST['textbox'];
name='textbox'
o cambiar el cuadro de texto$column = $_POST['textbox'];
al nombre de la entrada ...Puede agregar una nueva columna al final de su tabla
ALTER TABLE assessment ADD q6 VARCHAR( 255 )
Agregar columna al comienzo de la tabla
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) FIRST
Agregar columna junto a una columna especificada
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) after q5
y más opciones aquí
fuente
Algo como:
No lo he probado, pero debería funcionar.
fuente
$name
tarea con:$name = $db->mysqli_real_escape_string($_GET['input']);
asumiendo que envía su formulario normalmente. Si es ajax, es un poco más complejo.Según su comentario, parece que solo agregará la nueva columna si:
mysql_query("SELECT * FROM assessment");
devuelve falso. Probablemente eso no sea lo que querías. Intente eliminar el '!' delante de $ sql en la primera instrucción 'if'. Entonces su código se verá así:fuente
Debería considerar normalizar su base de datos para evitar crear columnas en tiempo de ejecución.
Haz 3 tablas:
Coloque preguntas y evaluaciones en sus respectivas tablas y vincúlelas a través de assessment_question utilizando claves externas.
fuente
para WORDPRESS:
fuente
fuente