J'essaie de changer mon système de notation qui n'utilisait qu'une seule table auparavant mais maintenant je la change pour utiliser plusieurs tables et je ne sais vraiment pas comment mettre à jour ou insérer une nouvelle note dans la base de données et se demandait comment le faire en utilisant ma structure de tables MySQL?PHP et MySQL Mise à jour des problèmes de base de données
Aussi comment je fais cela en adaptant le nouveau code à mon code PHP actuel que je veux changer qui est listé ci-dessous. Tout d'abord, laissez-moi vous expliquer ce que mes tables tiennent l'information quand les élèves évaluent leurs propres enseignants. J'ai énuméré ce que les tables vont contenir dans les exemples ci-dessous pour vous donner une meilleure compréhension de ce que j'essaie de faire. Les étudiants ne sont autorisés à évaluer les enseignants une fois.
J'ai fourni les deux tables MySQL qui devraient être mises à jour et listées ci-dessous.
Mes tables MySQL
CREATE TABLE teachers_grades (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
grade_id INT UNSIGNED NOT NULL,
teachers_id INT UNSIGNED NOT NULL,
student_id INT UNSIGNED NOT NULL,
date_created DATETIME NOT NULL,
PRIMARY KEY (id)
);
CREATE TABLE grades (
id INT UNSIGNED NOT NULL AUTO_INCREMENT,
letter_grade VARCHAR(2) NOT NULL,
grade_points FLOAT UNSIGNED NOT NULL DEFAULT 0,
PRIMARY KEY (id)
);
Qu'est-ce que la base de données. Maintenir
teachers_grades
id grade_id teachers_id student_id date_created
1 3 2 32 2010-01-23 04:24:51
2 1 32 3 2010-01-23 12:13:58
3 2 32 103 2010-01-23 12:24:45
grades
id letter_grade points
1 A+ 10
2 D 3
3 B 5
Voici l'ancien code PHP.
// function to insert rating
function rate(){
$text = strip_tags($_GET['rating']);
$update = "update vote set counter = counter + 1, value = value + ".$_GET['rating']."";
$result = mysql_query($update);
if(mysql_affected_rows() == 0){
$insert = "insert into vote (counter,value) values ('1','".$_GET['rating']."')";
$result = mysql_query($insert);
}
}
Ancienne table.
CREATE TABLE vote (
`counter` int(8) NOT NULL default '0',
`value` int(8) NOT NULL default '0'
);
Pouvez-vous montrer la structure de table précédente. A partir de votre description, elle affiche uniquement Compteur et Valeur dans le tableau des voix. –
c'est tout ce qu'il y avait. – iNeEdHeLp
Dans votre ancien code PHP, quel est le point de '$ text = strip_tags ($ _ GET ['rating']);' quand vous ne l'utilisez pas? : o –