Ich versuche, mit PHP eine neue Spalte zu meiner MYSQL-Tabelle hinzuzufügen. Ich bin nicht sicher, wie ich meine Tabelle so ändern soll, dass die neue Spalte erstellt wird. In meiner Bewertungstabelle habe ich:
assessmentid | q1 | q2 | q3 | q4 | q5
Angenommen, ich habe eine Seite mit einem Textfeld und tippe q6
in das Textfeld ein und drücke eine Taste. Dann wird die Tabelle aktualisiert auf:
assessmentid | q1 | q2 | q3 | q4 | q5 | q6
Mein Code:
<?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 erstellt'; } ELSE {// von hier aus einfach weiter wie gewohnt! Echo 'Q6 existiert bereits!';mysql_error()
, was schief gelaufen ist. zB$result = mysql_query($sql) or die(mysql_error());
.Antworten:
dein Tisch:
Sie können auch tun
quelle
assessment
ADDq6
INT (1) NOT NULL AFTERq5
");Sie können sich
VARCHAR( 255 ) NOT NULL
in das verwandeln, wasdatatype
Sie wollen.quelle
textbox
? wenn du meinstinput
wastype='text'
schreiben$column = $_POST['textbox'];
name='textbox'
oder Textfeld in$column = $_POST['textbox'];
den Namen der Eingabe ändern ...Sie können am Ende Ihrer Tabelle eine neue Spalte hinzufügen
ALTER TABLE assessment ADD q6 VARCHAR( 255 )
Fügen Sie am Anfang der Tabelle eine Spalte hinzu
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) FIRST
Fügen Sie eine Spalte neben einer angegebenen Spalte hinzu
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) after q5
und mehr Optionen hier
quelle
Etwas wie:
Habe es nicht getestet, sollte aber funktionieren.
quelle
$name
Aufgabe durch:$name = $db->mysqli_real_escape_string($_GET['input']);
vorausgesetzt, Sie senden Ihr Formular normal. Wenn es Ajax ist, ist es etwas komplexer.Basierend auf Ihrem Kommentar sieht es so aus, als würden Sie die neue Spalte nur hinzufügen, wenn:
mysql_query("SELECT * FROM assessment");
false zurückgibt. Das wollten Sie wahrscheinlich nicht. Versuchen Sie, das '!' vor $ sql in der ersten 'if'-Anweisung. Ihr Code sieht also folgendermaßen aus:quelle
Sie sollten sich mit der Normalisierung Ihrer Datenbank befassen, um zu vermeiden, dass zur Laufzeit Spalten erstellt werden.
Machen Sie 3 Tabellen:
Fügen Sie Fragen und Bewertungen in ihre jeweiligen Tabellen ein und verknüpfen Sie sie mithilfe von Assessment_question mithilfe von Fremdschlüsseln.
quelle
für WORDPRESS:
quelle
quelle