Próbuję dodać nową kolumnę do mojej tabeli MYSQL za pomocą PHP. Nie jestem pewien, jak zmienić tabelę, aby została utworzona nowa kolumna. W mojej tabeli ocen mam:
assessmentid | q1 | q2 | q3 | q4 | q5
Powiedzmy, że mam stronę z polem tekstowym i piszę q6
w polu tekstowym i naciskam przycisk, a następnie tabela jest aktualizowana do:
assessmentid | q1 | q2 | q3 | q4 | q5 | q6
Mój kod:
<?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 „Utworzono Q6”; } ELSE {// stąd po prostu kontynuuj stronę jak zwykle! echo 'Q6 już istnieje!';mysql_error()
co poszło nie tak. np$result = mysql_query($sql) or die(mysql_error());
.Odpowiedzi:
Twój stół:
możesz też zrobić
źródło
assessment
ADDq6
INT (1) NOT NULL AFTERq5
");możesz zmienić się
VARCHAR( 255 ) NOT NULL
w codatatype
tylko zechcesz.źródło
textbox
? jeśli masz na myśli to,input
cotype='text'
piszesz$column = $_POST['textbox'];
name='textbox'
lub zmienić pole tekstowe$column = $_POST['textbox'];
na nazwę wejścia ...Możesz dodać nową kolumnę na końcu tabeli
ALTER TABLE assessment ADD q6 VARCHAR( 255 )
Dodaj kolumnę na początku tabeli
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) FIRST
Dodaj kolumnę obok określonej kolumny
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) after q5
i więcej opcji tutaj
źródło
Coś jak:
Nie testowałem tego, ale powinno działać.
źródło
$name
zadanie:$name = $db->mysqli_real_escape_string($_GET['input']);
zakładając, że prześlesz formularz normalnie. Jeśli to Ajax, jest to trochę bardziej złożone.Na podstawie Twojego komentarza wygląda na to, że dodajesz nową kolumnę tylko wtedy, gdy:
mysql_query("SELECT * FROM assessment");
zwraca false. Prawdopodobnie nie tego chciałeś. Spróbuj usunąć znak „!” przed $ sql w pierwszej instrukcji „if”. Twój kod będzie więc wyglądał następująco:źródło
Powinieneś przyjrzeć się normalizacji bazy danych, aby uniknąć tworzenia kolumn w czasie wykonywania.
Zrób 3 tabele:
Umieść pytania i oceny w odpowiednich tabelach i połącz je ze sobą za pomocą assessment_question, używając kluczy obcych.
źródło
dla WORDPRESS:
źródło
źródło