Я пытаюсь изменить свою систему рейтинга, которая раньше использовала только одну таблицу, но теперь я изменяю ее, чтобы использовать несколько таблиц, и я действительно не знаю, как
обновить или вставить новый рейтинг в базу данных, и вам было интересно, как это сделать, используя структуру таблиц MySQL?
Также, как мне это сделать, адаптировав новый код к моему текущему PHP-коду, который я хочу изменить, и он указан ниже.
Сначала позвольте мне объяснить, в каких таблицах они хранят информацию, когда учащиеся оценивают своих учителей. Я перечислил, какие таблицы будут хранить в
примеры ниже, чтобы дать вам лучшее понимание того, что я пытаюсь сделать. Студенты могут оценивать учителей только один раз.
Я предоставил две таблицы MySQL, которые должны быть обновлены, которые перечислены ниже.
Мои таблицы 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)
);
Что будет хранить база данных.
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
1020 * марка *
id letter_grade points
1 A+ 10
2 D 3
3 B 5
Вот старый код 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);
}
}
Старый стол.
CREATE TABLE vote (
`counter` int(8) NOT NULL default '0',
`value` int(8) NOT NULL default '0'
);