J'essaye d'ajouter une nouvelle colonne à ma table MYSQL en utilisant PHP. Je ne sais pas comment modifier ma table afin que la nouvelle colonne soit créée. Dans mon tableau d'évaluation, j'ai:
assessmentid | q1 | q2 | q3 | q4 | q5
Disons que j'ai une page avec une zone de texte et que je tape q6
dans la zone de texte et appuyez sur un bouton, puis le tableau est mis à jour pour:
assessmentid | q1 | q2 | q3 | q4 | q5 | q6
Mon 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 APRESq5
"); echo 'Q6 créé'; } ELSE {// à partir d'ici, continuez la page comme d'habitude! echo 'Q6 existe déjà!';mysql_error()
ce qui ne va pas. par exemple$result = mysql_query($sql) or die(mysql_error());
.Réponses:
ta table:
tu peux aussi faire
la source
assessment
ADDq6
INT (1) NOT NULL APRÈSq5
");vous pouvez changer
VARCHAR( 255 ) NOT NULL
ce quedatatype
vous voulez.la source
textbox
? si vous voulez dire uninput
quoitype='text'
écrire$column = $_POST['textbox'];
name='textbox'
ou changer la zone de texte$column = $_POST['textbox'];
pour le nom de l'entrée ...Vous pouvez ajouter une nouvelle colonne à la fin de votre tableau
ALTER TABLE assessment ADD q6 VARCHAR( 255 )
Ajouter une colonne au début du tableau
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) FIRST
Ajouter une colonne à côté d'une colonne spécifiée
ALTER TABLE assessment ADD q6 VARCHAR( 255 ) after q5
et plus d'options ici
la source
Quelque chose comme:
Je ne l'ai pas testé mais devrait fonctionner.
la source
$name
mission par: en$name = $db->mysqli_real_escape_string($_GET['input']);
supposant que vous soumettez votre formulaire normalement. Si c'est ajax, c'est un peu plus complexe.D'après votre commentaire, il semble que vous n'ajoutiez la nouvelle colonne que si:
mysql_query("SELECT * FROM assessment");
renvoie false. Ce n'est probablement pas ce que vous vouliez. Essayez de supprimer le "!" devant $ sql dans la première instruction «if». Donc, votre code ressemblera à:la source
Vous devriez envisager de normaliser votre base de données pour éviter de créer des colonnes au moment de l'exécution.
Faites 3 tableaux:
Placez les questions et les évaluations dans leurs tableaux respectifs et associez-les via evaluation_question à l'aide de clés étrangères.
la source
pour WORDPRESS:
la source
la source