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 q6en 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>

assessmentADDq6INT (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
assessmentADDq6INT (1) NOT NULL AFTERq5");puedes cambiarte
VARCHAR( 255 ) NOT NULLa lodatatypeque quieras.fuente
textbox? si te refieres ainputqué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 ) FIRSTAgregar columna junto a una columna especificada
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) after q5y más opciones aquí
fuente
Algo como:
No lo he probado, pero debería funcionar.
fuente
$nametarea 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